function FAIRLANE_showDiv(divID,content){
	var divi = document.getElementById? document.getElementById(divID): document.all? document.all[divID]: null;
	divi.innerHTML = content;
}

function FAIRLANE_showLang(ln,language){
	var lang_arr = new Array();
	
	if(!language) language='FIN';
	
	if(language=='FIN'){
		if(ln=='FALSE'){	
			//alert("Valitse kieli!");
			return "Valitse kieli";
		}

		lang_arr['SWE'] = 'Ruotsi';	
		lang_arr['ENG'] = 'Englanti';	
		lang_arr['FIN'] = 'Suomi';	
	}
	else if(language=='SWE'){
		if(ln=='FALSE'){	
			//alert("Vad gör du!");
			return "Valja jotain";
		}

		lang_arr['SWE'] = 'Svenska';	
		lang_arr['ENG'] = 'Engelska';	
		lang_arr['FIN'] = 'Finska';	
	}
	else if(language=='ENG'){
		if(ln=='FALSE'){	
			//alert("Please choose language!")
			return "Choose language";
		}

		lang_arr['SWE'] = 'Swedish';	
		lang_arr['ENG'] = 'English';	
		lang_arr['FIN'] = 'Finnish';	
	}
	return lang_arr[ln];
}

function FAIRLANE_viewLayer(divID,content,width,height,posLeft,posRight){
	var divi = document.getElementById? document.getElementById(divID): document.all? document.all[divID]: null;
	var yOff = divi.offsetTop;
	var xOff = divi.offsetLeft;
	
	divi.innerHTML = content;
	
	alert(xOff+' x '+yOff);
	
	divi.style.position.left = xOff-140;
}

function FAIRLANE_setSelect(formname,selectname,F_arr){
	var f = document.forms[formname];
	var select_to_change = f[selectname];
	
	select_to_change.length = 0;
	var fixed_index = 1;
	var name;
	for(r=0; r<F_arr.length-1; r++){
		if(F_arr[r][0] && F_arr[r][1]){
		
			name = FAIRLANE_decode_htmlentities(F_arr[r][1]);
			select_to_change[r] = new Option(name,F_arr[r][0]);
		}	
	}
}

function FAIRLANE_explodeToArray(str){
	
	var F_string = str;
	var F_split = F_string.split("F||F");
	
	var F_arr = new Array();
	// Split the rest of
	for(r=0; r<F_split.length; r++){
		F_arr[r] = F_split[r].split("F|F")
	}
	
	//alert(F_string+' -> '+F_arr.length);
	return F_arr;
}

function FAIRLANE_decode_htmlentities(str){
	var toReplace = new Array();
	toReplace[0] = '&aring;';
	toReplace[1] = '&auml;';
	toReplace[2] = '&ouml;';
	toReplace[3] = '&amp;';

	replacement = new Array();
	replacement[0] = 'å';
	replacement[1] = 'ä';
	replacement[2] = 'ö';
	replacement[3] = '&';

	replaced = str;
	
	for(w=0; w<toReplace.length; w++){
	//alert('pok: '+toReplace[w]+' -> '+replacement[w]);
		replaced = replaced.replace(new RegExp(toReplace[w],'g'),replacement[w]);
		
	}
	return replaced;	
}

function FAIRLANE_Checkform(form){

	var ftype = form.type.value;
	var fname = form.name;
	var errors = new Array();
	
	switch(ftype){
		case 'product':
			
			switch(fname){
				case "addImage":
					if(form['img_file'].value.length<1) errors.push('Kuvan osoite pakollinen');

					var radioVal = FAIRLANE_getCheckedRadioValue(form['auto_thumbnail']);
											
					if(radioVal!=1){
						if(form['img_thumbnail_file'].value.length<1) errors.push('Pikakuvakkeen osoite pakollinen jos et käytä automaattista pikakuvakkeen luontia');
					}

				break;
				default:
			
				if(form['productName'].value.length<1) errors.push('Tuotteen nimi pakollinen');
			
				if(form['orderable'].value==1){
					if(!form['outboundPrice'].value) errors.push('Tuotteen myyntihinta on pakollinen (jos tilattavissa verkkokaupasta)');
				
					var dvr_checked = false;
				
					for(z=0; z<form['deliveries'].length; z++){
						if(form['deliveries'][z].checked){
							dvr_checked = true;  
							break;
						}	
					}
					
					if(!dvr_checked) errors.push('Valitse vähintään yksi toimitustapa (jos tilattavissa verkkokaupasta)');
				
					var pmt_checked = false;
				
					for(z=0; z<form['payments'].length; z++){	
						if(form['payments'][z].checked){
							pmt_checked = true;  
							break;
						}	
					}
					
					if(!pmt_checked) errors.push('Valitse vähintään yksi maksutapa (jos tilattavissa verkkokaupasta)');
				
				}

				if(form['discountPercent'].value>99) errors.push('Alennusprosentti ei voi olla yli 99 %');
				// Defaults
				if(!form['inboundPrice'].value) form['inboundPrice'].value=0;
				if(!form['discountPercent'].value) form['discountPercent'].value=0;
				if(!form['warehouseCount'].value) form['warehouseCount'].value=0;
			}	
			break;
		
		case 'cat_trl':
			if(form['catName'].value.length<1) errors.push('Kategorian nimi pakollinen');
		break;

		case 'cat':
			if(form['catName'].value.length<1) errors.push('Kategorian nimi pakollinen');
		break;
		
		case 'subcat_trl':
			if(form['subCatName'].value.length<1) errors.push('Alakategorian nimi pakollinen');
		break;

		case 'subcat':
			if(form['subCatName'].value.length<1) errors.push('Alakategorian nimi pakollinen');
			if(form['catID'].value.length<1) errors.push('Valitse pääkategoria');
		break;

		case 'man':
			if(form['manName'].value.length<1) errors.push('Valmistajan nimi pakollinen');
		break;

		case 'prl':
			if(form['lineName'].value.length<1) errors.push('Tuotelinjan / malliston nimi pakollinen');
		break;

		case 'delivery':
			if(form['deliveryName'].value.length<1) errors.push('Anna toimitustavalle nimi');
			if(form['deliveryPrice'].value.length<1) errors.push('Määrittele toimitustavalle hinta');
		break;

		case 'payment':
			if(form['paymentName'].value.length<1) errors.push('Anna maksutavalle nimi');
		break;
	
		default:
			alert('Invalid form type: '+ftype+'!');
			return false;
		break;
	}
	
	if(errors.length>0){
		
		var errStr = 'Tarkista seuraavat tiedot:\n';
		
		for(i=0; i<errors.length; i++){
			errStr += errors[i]+'\n';
		}
	
		alert(errStr);
		return false;
	}
	
	return true;
}

function FAIRLANE_in_array(needle,arr){

	if(arr instanceof Array){
		arrlen = arr.length;
		
		for(r=0; r<arrlen; r++){
			if(arr[r]==needle) return true;
		}
	}
	//else{
	//	alert("not an array");
	//}
	return false;
}

var FAIRLANE_validKeyCodes = new Array(
8,
13,
32,
40,
46,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
186,
187,
188,
189,
190,
191,
220,
221,
222
);

function FAIRLANE_setManuLines(F_arr){
	
	try{
		if(document.forms['ADD']['submit']){
			var FormToFill = "ADD";
		}
	}
	catch(e){
		var FormToFill = "MODIFY";
	}
	
	var options_arr = FAIRLANE_explodeToArray(F_arr);
	
	FAIRLANE_setSelect(FormToFill,'lineID',options_arr);
}

function FAIRLANE_setSubcategories(F_arr){

	try{
		if(document.forms['ADD']['subcatID']){
			var FormToFill = "ADD";
		}
	}
	catch(e){
		var FormToFill = "MODIFY";
	}
	
	var options_arr = FAIRLANE_explodeToArray(F_arr);
	
	FAIRLANE_setSelect(FormToFill,'subcatID',options_arr);
}

function FAIRLANE_checkAvailability(F_element,type,event,keyid){
	
	var keyPressed = event.keyCode;
	var nameLength = F_element.value.length;
	var trylength=3;
	
	if(nameLength<trylength){
		return true;
	}
	
	if(FAIRLANE_in_array(keyPressed,FAIRLANE_validKeyCodes)){
		x_FAIRLAX_getElementByName(F_element.value,type,keyid,FAIRLANE_viewAvailability);
		
	}
	return true;
}

function FAIRLANE_viewAvailability(F_arr){

	var divi = document.getElementById('availability');
	
	// Check the type of form
	try{
		if(document.forms['ADD']['submit']){
			var F_button = document.forms['ADD']['submit'];
			var F_buttonOkValue = "Lisää";
		}
	}
	catch(e){
		var F_button = document.forms['MODIFY']['submit'];
		var F_buttonOkValue = "Päivitä";
	}
	
	var F_a = FAIRLANE_explodeToArray(F_arr);
	var html = '';
	var resCode = F_a[0][0];
	var resString = F_a[0][1];
	var resName = F_a[0][2];
	
	if(resCode==1){
		html = '<p class=\"FAIRLANE_ERR\" style=\"display:inline\"> VARATTU!</p>';
		F_button.disabled=true;
		F_button.value='-';

	}
	else{
		html = '<p class=\"FAIRLANE_GREEN\" style=\"display:inline\"> OK!</p>';
		F_button.disabled=false;
		F_button.value=F_buttonOkValue;
	}
	//alert('vid? '+html);
	divi.innerHTML = html;
	return true;
}

function FAIRLANE_viewProductCategories(F_arr){

	var divi = document.getElementById('categories');
	
	var cat_arr = FAIRLANE_explodeToArray(F_arr);
	var html="";
	
	if(cat_arr.length==2){
		var r = 0;
		html += "<p class=\"FAIRLANE\" style=\"display:inline\">"+cat_arr[r][2]+" &#187; "+cat_arr[r][3]+"\n</p>";	
	}
	else{
		for(r=0; r<cat_arr.length-1; r++){
			html += "<form name=\"RMPAD\" id=\"RMPAD\" onSubmit=\"return false;\">\n<p class=\"FAIRLANE\" style=\"display:inline\">"+cat_arr[r][2]+" &#187; "+cat_arr[r][3]+"\n <input type=\"submit\" name=\"submit\" value=\"Poista\" style=\"display:inline\" class=\"FAIRLANE\" onClick=\"x_FAIRLAX_removeProductFromCategory('"+cat_arr[r][0]+"',FAIRLANE_handleFairlaxResponse);x_FAIRLAX_getProductCategories('"+cat_arr[r][1]+"',FAIRLANE_viewProductCategories)\"></p></form>";
		}
	}	
	divi.innerHTML = html;
	return true;
}

function FAIRLANE_handleFairlaxResponse(F_arr){
	var response_arr = FAIRLANE_explodeToArray(F_arr);
	
	if(response_arr[0][0]=="ERROR"){	
		alert(response_arr[0][1]);
		return false;	
	}
	else if(response_arr[0][0]=="OK"){
		if(response_arr[0][1].length>1){
			alert(response_arr[0][1]);
		}
	}
	else{
		return true;
	}
}

function FAIRLANE_openWindow(F_winUrl,F_winName,F_winWidth,F_winHeight){
	window.open(F_winUrl,F_winName,'width='+F_winWidth+',height='+F_winHeight+',scrollbars=yes');
}

function FAIRLANE_setFormElementStatus(F_form,F_element,F_status){

	// Check the type of form
	try{
		if(document.forms[F_form][F_element]){
			var F_C_element = document.forms[F_form][F_element];
		}
	}
	catch(e){
		alert("Virhe lomakkeen "+F_form+" käsittelyssä!");
		return false;
	}
	
	if(F_status=="DISABLED"){
		F_C_element.disabled=true; 
			
	}
	else{
		F_C_element.disabled=false; 
	}
	return true;
}

function FAIRLANE_handleTnImageField(){

	var F_value = FAIRLANE_getCheckedRadioValue(document.forms['addImage']['auto_thumbnail']);
	if(F_value==1){
		FAIRLANE_setFormElementStatus("addImage","img_thumbnail_file","DISABLED");
	}
	else{
		FAIRLANE_setFormElementStatus("addImage","img_thumbnail_file","ENABLED");
	}
}

function FAIRLANE_getCheckedRadioValue(F_radio){

	for(var x=0; x < F_radio.length; x++) {
		if(F_radio[x].checked) {
			return F_radio[x].value;
		}
	}
	return false;
}

function FAIRLANE_viewImages(F_arr){

	var divi = document.getElementById('images');
	
	var img_arr = FAIRLANE_explodeToArray(F_arr);
	var html="";
	
	if(img_arr[0][0]==0){
		html = "<p class=\"FAIRLANE\">Ei tuotteeseen liittetyjä kuvia</p>";
	}
	else{
		html +="<table align=\"left\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
		html +="<tr>\n";
		for(r=0; r<img_arr.length-1; r++){
			html +="<td align=\"center\" valign=\"top\" width=\"70\">";
			html +="<div id=\"imageView\" name=\"imageView\"></div>";
			html += "<a href=\"javascript: FAIRLANE_viewImage('"+img_arr[r][3]+"','imageView')\" onClick=\"getMouseXY(window.event)\"><img src=\""+img_arr[r][4]+"\" class=\"FAIRLANE\" border=\"1\"></a><p class=\"FAIRLANE\"><a href=\"javascript: x_FAIRLAX_removeImage('"+img_arr[r][0]+"',FAIRLANE_handleFairlaxResponse); x_FAIRLAX_getImages('"+img_arr[r][1]+"','"+img_arr[r][2]+"',FAIRLANE_viewImages)\">Poista kuva</a></p>";
			html +="</td>\n";
		}
		html +="</tr></table>\n";
	}	
	divi.innerHTML = html;
	return true;
	
}

function FAIRLANE_viewImage(imgSrc,divID,e){
	divi =  document.getElementById(divID);
	divi.style.position = "absolute";
	divi.style.top = 100;
	divi.style.left = 500;
	html = "<img src=\""+imgSrc+"\">";
	html += "<a href=\"javascript: FAIRLANE_closeDiv('"+divID+"')\">Sulje</a>";
	
	divi.innerHTML=html;
}

function FAIRLANE_closeDiv(divID){
	divi = document.getElementById(divID);
	divi.innerHTML='';
}

function ICT_setTournaments(F_arr){

	try{
		if(document.forms['ADD']['tournamentID']){
			var FormToFill = "ADD";
		}
	}
	catch(e){
		var FormToFill = "MODIFY";
	}
	
	var options_arr = FAIRLANE_explodeToArray(F_arr);
	
	FAIRLANE_setSelect(FormToFill,'tournamentID',options_arr);
}

function ICT_suggestRoundNumber(F_resp){

	try{
		if(document.forms['ADD']['tournamentID']){
			var FormToFill = "ADD";
		}
	}
	catch(e){
		var FormToFill = "MODIFY";
	}
	
	if(F_resp==0){
		var newVal = 1;
	}
	else{
		var num = new Number(F_resp);
		var newVal = (num.value+1);
	}	
	document.forms[FormToFill].roundNum.value=newVal;
}

function ICT_suggestRoundPoints(num,showIn){
	
	try{
		if(document.forms['RESULTS']['id']){
			var FormToFill = "RESULTS";
		}
	}
	catch(e){
		alert("Ei löydy formia! Jotain on menny vituiks");
		return false;
	}
	var pointsField = "pointsICT_"+showIn;
	var plussa = Number(1);
        var maxpoints = Number(6);
	var numero = Number(num);
	if(num==1){
		newVal = maxpoints;
	}
	else{
		newVal = (maxpoints-numero);
	}
	
	document.forms[FormToFill][pointsField].value=newVal;
}
