/*
function $(element) {
  if (typeof element == "string")
    element = document.getElementById(element);
  return element;
}
*/
function isEmpty (object) {
	var t = typeof(object);
	return (t == 'undefined' || object === null);
}
function ltrim (value, charlist) {
	charlist = (typeof(charlist) == 'undefined' ||charlist === null || charlist.length == 0 ? '\\s' : RegExp.escape(charlist));
	var re = new RegExp('[' + charlist + ']+$');
	return value.replace(re, '');
}

function rtrim (value, charlist) {
	charlist = (typeof(charlist) == 'undefined' ||charlist === null || charlist.length == 0 ? '\\s' : RegExp.escape(charlist));
	var re = new RegExp('^[' + charlist + ']+');
	return value.replace(re, '');
}
function trim (value) {
	return ltrim(rtrim(value));
}

function isEmptyS (object) {
	var t = typeof(object);
	return (t == 'undefined' || object === null || (t == 'string' && object == ''));
}

function check_email(e) {

    re = /^[a-z_][0-9a-z_-]*([\.][0-9a-z_-]+)*[0-9a-z_]*@[0-9a-z_-]+([\.][0-9a-z_-]+)+[0-9a-z_]$/i;
    if (!e.match(re)) {
	return false;		
    } 
    return true;
}

function get_reply (id) {

    var reply = null;
    for (var i = 1; i <= 3; i++) {
	var f = $('reply_'+id+'_'+i);
	if (!isEmpty(f) && !isEmpty(f.value) && f.checked) {
	    reply = f.value;
	    break;
	}
    }
    return reply;
}

var firstErr = true;
function check_field (fname) {

    var f = $(fname);
    if (!isEmpty(f)) {
	var val = null;
	if (f.type.toLowerCase() == 'checkbox') {
	    val = (f.checked ? f.value : '');
	} else val = f.value;
	var res = !isEmptyS(trim(val));
	var fErr = $(fname+'Err');
	if (!isEmpty(fErr))
	    fErr.style.display = (res ? 'none' : 'block');
	if (firstErr && !res) {
	    firstErr = false;
	    f.focus();
	}
	return res;
    }
    return false;
}

function validate() {
	var allValid = true;
	firstErr = true;

	for (var i = 1; i <= 3; i++) {
		var x = get_reply(i);
		if (isEmpty(x)) {
			allValid = false;
			break;
		}
	}
	if (!allValid) {
		alert ('Vänligen svara på alla frågor');
		return false;
	}

	var rFields = ['name','address','postcode','town','email'];
	for (var i = 0; i < rFields.length; i++)
		allValid = check_field(rFields[i]) && allValid;

	if (allValid) {
		allValid = check_field('accept') && allValid;
		if (!allValid) {
			alert ('Du måste acceptera reglerna för att delta i tävlingen');
			return false;
		}
	}
	if (!allValid)
		alert ('Var god fyll i alla fält ');

	if (allValid) {
		var v = $('email').value;
		if (isEmpty(v) || !check_email(v)) {
			alert ('Fel e-post');
			allValid = false;
		}
	}
	
//	return false;
	return allValid;
}

function out_fields (flist, title, tclass, idx) {

	if (isEmpty(idx))
		idx = false;
	if (isEmpty(tclass))
		tclass = '';
	if (isEmpty(title))
		title = '';
	var code = '';
	$A(flist).each(function(k) {
		var index = (idx !== false ? idx : '');
		var fv = $(k+index);
		var v;
		if (isEmpty(fv))
			return;
		v = trim(fv.value);
		if (v.length < 1)
			return;
		var isArea = (fv.type.toLowerCase() == 'textarea');
		var flbl = $(k+index+'_lbl');
		var lbl = (isEmpty(flbl) ? '' : flbl.innerHTML);
		code = code + '<tr>' +
			'<td class="ttitle">' + lbl + '</td>' +
			'<td class="tfield'+(isArea ? ' tpre' : '')+'">' + v + '</td>' + 
			'</tr>';
	});
	if (code != '') {
		code = (title != '' ? '<h4>'+title+'</h4>' : '') +
			'<table'+(tclass != '' ? ' class="'+tclass+'"' : '')+' cellpadding="0" cellspacing="0" border="0">' +
			code + '</table>';
	}
	return code;
}

function go_step0() {
	$('step1').hide();
	$('step0').show();
	showStep(1);
}

function go_step1() {

	if (!validate())
		return false;
	var code = '';
	var btype = ($('btype0').checked ? 'Beställning' : 'Offertförfrågan');
	var prj_cnt = parseInt($('prjcnt').value);
	code = '<h4>Beställare (typ: ' +btype + ')</h4>' + 
		out_fields (['pname','paddr','pdivision','ppayer','porder','pphone','pemail'], '', 'personalInfo');
	code = code + '<br /><h4>Projectnamn '+$('prjname').value+'</h4>';
	for (var j = 1; j <= prj_cnt; j++) {
		code = code + '<br /><h4>Aktivitet #'+j+'</h4>' +
			out_fields (['prjtype','prjpagecnt','prjformat','prjcolor','prjbw','prjpubl','prjother','prjfile'], '', 'projectInfo', j) +
			out_fields (['prjfirstdate','prjlastdate','prjdeladdr'], 'Hålltider för produktion', 'projectInfo', j);
	}
	
	code = code + out_fields (['prjtarget','prjtarget2','prjtargetgroup','prjassign','prjideas','prjchannel','prjtimeplan','prjbudget'], 'Brief', 'projectInfo');
	$('ppreview').update(code);
	$('step0').hide();
	$('step1').show();
	showStep(2);
	return code;
}

function showStep (step) {

    var s = parseInt(step);
    for (var i=1; i<=3; i++) {
	$('number'+i).className = 'numbers'+(i <= s ? ' numberActive' : '');
	$('numberText'+i).className = 'numberText'+(i <= s ? ' numberTextActive' : '');
    }
}

var prjCnt = 1;
var prjTabs = null;

function initProjectTabs () {

	if (!isEmpty(prjTabs)) {
	}
	
	prjTabs = new Control.Tabs ('prjtabs', {
			defaultTab: 'first',
			linkSelector: 'li a',
			setClassOnContainer: true,
			activeClassName: 'active_tab'
	});
}
function addProject() {

    var pcnt = $('prjcnt');

    prjCnt = parseInt(pcnt.value);
    if (prjCnt >= 5)
	return false;

    prjCnt++;
    $('prj_li'+prjCnt).show();
    prjTabs.setActiveTab('t_prj'+prjCnt);
    pcnt.value = ''+prjCnt;
    if (prjCnt >= 5) {
    $('prj_li_add').hide();
    }
//    alert ('add');
}