function gE(LayerName){
	return document.getElementById(LayerName);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/*function showPF(){
	gE('newPerson').style.display='';
	
	gE('head_text2').style.display='';
	gE('headerGeneral').style.display='';
	gE('footerGeneral').style.display='';
	gE('recomandari').style.display='';
	
	gE('newCompany').style.display='none';
}

function showPJ(){
	gE('newCompany').style.display='';
	
	gE('head_text2').style.display='';
	gE('headerGeneral').style.display='';
	gE('footerGeneral').style.display='';
	gE('recomandari').style.display='';
	
	gE('newPerson').style.display='none';
}

function showFull(){
	if (gE('fullAccountBox').checked){
		gE('fullAccount').style.display='';
	}
	else {
		gE('fullAccount').style.display='none';
	}
}*/

function checkout(){
	gE('payBTN').style.display='none;';
	gE('submitBTN').style.display='';
	gE('finalDetails').style.display='';
}


var fields=[];
var fieldName=[];
var fieldSettings=[];
var lang='RO';

function minLength(elmName,maxLength){
	var elmInput=gE(elmName).value;
	var boolResponse=true;
	var messageSpecial=[];
	if (elmInput.length<maxLength){
		boolResponse=false;
		messageSpecial['RO']=' (Trebuie sa aibe min '+maxLength+' caractere)';
		messageSpecial['EN']=' (Must have at least '+maxLength+' characters)';
	}

	return {bool:boolResponse, message:messageSpecial[lang]};
}

function radioCheck(elmName, inputsID){
	var boolResponse=false;
	var messageSpecial='';

	var arrInputs=inputsID.split(",");
	for (i=0;i<arrInputs.length;i++){
		if (gE(arrInputs[i]).checked){
			boolResponse=true;
		}
	}

	return {bool:boolResponse, message:messageSpecial};
}

function specialSettings(elmName){
	var isOkSpecial=true;
	var messageSpecial='';

	var specialFilter=fieldSettings[elmName].split(";");
	for (var j=0; j<specialFilter.length; j++){
		var currentFilter=specialFilter[j].split("|");
		eval('var filterResponse='+currentFilter[0]+'("'+elmName+'","'+currentFilter[1]+'");');
		if (!filterResponse['bool']){
			isOkSpecial=false;
			messageSpecial+=filterResponse['message'];
		}
	}

	return {bool:isOkSpecial, message:messageSpecial};
}



function checkNewAccount(checkLang, typeForm){
	var userType=0;
	lang=checkLang;

	if (gE('registerRadioPF').checked) userType=1;
	if (gE('registerRadioPJ').checked) userType=2;

	switch (userType){
		case 0:
			var error=[];
			error['RO']='Nu ati selectat tipul User-ului';
			error['EN']='You haven\'t selected the user type';
			alert(error[lang]);
		break;

		case 1:
			fields['userPF']='text';
			fieldName['userPF']=gE('textUserPF').innerHTML;
			fieldSettings['userPF']='minLength|5';

			if (typeForm=='add'){
				fields['passPF']='text';
				fieldName['passPF']=gE('textPassPF').innerHTML;
				fieldSettings['passPF']='minLength|5';

				fields['repPassPF']='text';
				fieldName['repPassPF']=gE('textRepPassPF').innerHTML;
				fieldSettings['repPassPF']='minLength|5';
			}

			fields['namePF']='text';
			fieldName['namePF']=gE('textNamePF').innerHTML;

			fields['surnamePF']='text';
			fieldName['surnamePF']=gE('textSurnamePF').innerHTML;

			fields['emailPF']='email';
			fieldName['emailPF']=gE('textEmailPF').innerHTML;

			fields['addressPF']='text';
			fieldName['addressPF']=gE('textAddressPF').innerHTML;

			fields['cnpPF']='text';
			fieldName['cnpPF']=gE('textCnpPF').innerHTML;
			fieldSettings['cnpPF']='minLength|13';

			fields['phonePF']='text';
			fieldName['phonePF']=gE('textPhonePF').innerHTML;

			var checkAnswer=checkForm();
			if (checkAnswer){
				if (gE('passPF').value==gE('repPassPF')){
					//gE('newAccountFRM').submit();
					alert('e OK');
				}
				else {
					error['RO']='Parola nu a fost confirmata';
					error['EN']='The password has not been confirmed';
					alert(error[lang]);
				}
			}
		break;

		case 2:
			fields['userPJ']='text';
			fieldName['userPJ']=gE('textUserPJ').innerHTML;
			fieldSettings['userPJ']='minLength|5';

			if (typeForm=='add'){
				fields['passPJ']='text';
				fieldName['passPJ']=gE('textPassPJ').innerHTML;
				fieldSettings['passPJ']='minLength|5';

				fields['repPassPJ']='text';
				fieldName['repPassPJ']=gE('textRepPassPJ').innerHTML;
				fieldSettings['repPassPJ']='minLength|5';
			}

			fields['emailPJ']='email';
			fieldName['emailPJ']=gE('textEmailPJ').innerHTML;

			fields['namePJ']='text';
			fieldName['namePJ']=gE('textNamePJ').innerHTML;

			fields['surnamePJ']='text';
			fieldName['surnamePJ']=gE('textSurnamePJ').innerHTML;

			fields['cnpPJ']='text';
			fieldName['cnpPJ']=gE('textCnpPJ').innerHTML;
			fieldSettings['cnpPJ']='minLength|13';

			fields['phonePJ']='text';
			fieldName['phonePJ']=gE('textPhonePJ').innerHTML;

			fields['companyPJ']='text';
			fieldName['companyPJ']=gE('textCompanyPJ').innerHTML;

			fields['addressPJ']='text';
			fieldName['addressPJ']=gE('textAddressPJ').innerHTML;

			fields['cuiPJ']='text';
			fieldName['cuiPJ']=gE('textCuiPJ').innerHTML;

			fields['contBancarPJ']='text';
			fieldName['contBancarPJ']=gE('textContBancarPJ').innerHTML;

			fields['companyPhonePJ']='text';
			fieldName['companyPhonePJ']=gE('textCompanyPhonePJ').innerHTML;

			var checkAnswer=checkForm();
			if (checkAnswer){
				if (gE('passPJ').value==gE('repPassPJ')){
					//gE('newAccountFRM').submit();
					alert('e OK');
				}
				else {
					error['RO']='Parola nu a fost confirmata';
					error['EN']='The password has not been confirmed';
					alert(error[lang]);
				}
			}
		break;
	}
}

function checkForm(){
	var currentInput='';
	var isOk=true;

	var arrMessage=[];
	arrMessage['RO']='Urmatoarele campuri nu au fost completate:\n';
	arrMessage['EN']='You have to complete the following fields:\n';

	var message=arrMessage[lang];

	for (var i in fields){
		if (typeof(fields[i])!="function"){
			currentInput=gE(i);
			switch (fields[i]){
				case 'text':
					if (fieldSettings[i]){
						var response=specialSettings(i);
						//alert(response['bool']+'|'+response['message']);
						if (!response['bool']){
							isOk=false;
							message+='- '+fieldName[i]+response['message']+'\n';
						}
					}
					else if (currentInput.value.length<=0){
						isOk=false;
						message+='- '+fieldName[i]+'\n';
					}
				break;

				case 'fck':
					var oEditor = FCKeditorAPI.GetInstance(i) ;
					var textField = oEditor.GetXHTML(true);
					textField = textField.replace(/<img.*?>/g,'img');
					textField = textField.replace(/<.*?>/g,'');

					if (textField.length<=0){
						isOk=false;
						message+='- '+fieldName[i]+'\n';
					}
				break;

				case 'email':
					var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if (!filter.test(currentInput.value)) {
						isOk=false;
						message+='- '+fieldName[i]+'\n';
					}
				break;

				case 'number':
				break;

				case 'none':
					if (fieldSettings[i]){
						var response=specialSettings(i);
						if (!response['bool']){
							isOk=false;
							message+='- '+fieldName[i]+response['message']+'\n';
						}
					}
				break;
			}
		}
	}

	if (isOk){
		//formFRM.submit();
		//alert('e OK');
		return true;
	}
	else {
		alert(message);
		return false;
	}
}

function doCheckInput(elmID){
	var currentInput=gE(elmID);
	switch (currentInput.type){
		case "checkbox":
			if (currentInput.checked) gE(elmID).checked=false;
			else gE(elmID).checked=true;
		break;

		case "radio":
			gE(elmID).checked=true;
		break;
	}
}