//Mi LetreanDo Component - Javascript 
//Version 1.0
//Copyright (C) 2007 LetreanDo.com
//Licence Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html

function ld_resetForm(oForm) {
	oForm.reset();
}//ld_resetForm

function ld_resetFormClient(oForm){
	ld_enabledData(oForm, 'iData2', false);
	oForm.reset();
}//ld_resetFormClient

function ld_redirectPage(sUrl) {
  document.location.href = sUrl;
}//ld_redirectPage

function ld_enabledList(oForm, iData, sData) {
	var oData = eval("oForm.elements." + sData);
	oData.disabled = (iData == 1) ? false : true;
	//oData.disabled = (oData.options[oData.selectedIndex].value == 1) ? false : true;
}//ld_enabledList

function ld_displayMessage(iErrorCode) {
	if ((iErrorCode != null) || (iErrorCode != '') ) {
		alert (fErrorMessage[0] + fErrorMessage[iErrorCode]);
	}else{
		alert (fErrorMessage[0]);
	}//if	
}//ld_displayMessage

function ld_valideEmptyData(oForm, sData) {
	var oData = eval("oForm.elements." + sData);
	if (oData.value == null || oData.value == "0" || oData.value == "" || oData.value.length == 0){
		return false;		
  }//if
  return true;
}//ld_valideEmptyData

function ld_valideEmpty(oForm, iErrorCode) {
	for (i = 0; i < oForm.elements.length; i++){
		//if (oForm.elements[i].type != "hidden" && oForm.elements[i].type != "button" && oForm.elements[i].type != "textarea" && oForm.elements[i].type != "file" && oForm.elements[i].type != "textarea"){
	  if (oForm.elements[i].type == "select-one" || oForm.elements[i].type == "text"){
		  if (!oForm.elements[i].disabled){ 
				if (oForm.elements[i].value == null || oForm.elements[i].value == "0" || oForm.elements[i].value == ""){
					ld_displayMessage(iErrorCode);
					oForm.elements[i].focus(); 
					return false;				
				}//if
			}//if	
		}//if
	}//for
	return true;
}//ld_valideEmpty

function ld_valideData(oForm, sData, iErrorCode, ePattern) {
	var oData = eval("oForm.elements." + sData);
	if (!ePattern.test(oData.value)) {
		ld_displayMessage(iErrorCode);
		oData.focus(); 
		return false;		
  }//if
  return true;
}//ld_valideData

function ld_compareData(oForm, sData, sData1, sData2) {
	var oData = eval("oForm.elements." + sData);
	var oData1 = eval("oForm.elements." + sData1);
	var oData2 = eval("oForm.elements." + sData2);
	if (oData.value == 1 || oData.value == 2) {
  	if (oData1.value == oData2.value) {
    	ld_displayMessage(3);
    	oData2.focus(); 
			return false;				
    }//if
  }else{
  	if (oData1.value != oData2.value) {
    	ld_displayMessage(4);
			oData2.focus(); 
			return false;				
    }//if
  }//if  
  return true;
}//ld_compareData

function ld_calculateEstimate(oForm, fAction) {
	var numPattern = /(^-?\d\d*$)/;
	var bStatus = null;
	bStatus = ld_valideEmpty(oForm,1);
	if (bStatus) bStatus = ld_valideData(oForm,"iData2",2, numPattern);
	if (bStatus) bStatus = ld_compareData(oForm,"iData1","iData3","iData4");
	if (bStatus){
		oForm.action.value = fAction;
		oForm.submit();
	}//if	
}//ld_calculateEstimate

function ld_valideRadio(oForm, sData) {
	var oData = eval("oForm.elements." + sData);
	for (i = 0; i < oData.length; i++){
		if (oData[i].checked){
			return oData[i].value;
		}//if
	}//for
}//ld_valideRadio

function ld_requestOrder(oForm, fAction) {
  iData = ld_valideRadio(oForm, "iData8");
  if (iData == 1 || iData == 2){
			//oForm.action.value = fAction;
			oForm.submit();
	} else {
		ld_displayMessage(5);
		return false;				
	}//if
}//ld_requestOrder

function ld_cleanData(oForm, sData) {
	var oData = eval("oForm.elements." + sData);
	oData.value = '';
}//ld_cleanData

function ld_enabledData(oForm, sData, bData) {
	var oData = eval("oForm.elements." + sData);
	oData.disabled = bData;
}//ld_cleanData

function ld_focusData(oForm, sData) {
	var oData = eval("oForm.elements." + sData);
	oData.focus();
}//ld_focusData

function ld_activeData(oForm, sData) {
	var oData = eval("oForm.elements." + sData);
	for (i = 0; i < oData.length; i++){
		if (oData[i].checked){
			if ( oData[i].value == 1 ) {
				ld_cleanData(oForm, 'iData1');
				ld_cleanData(oForm, 'iData2');
				ld_enabledData(oForm, 'iData2', true);
				ld_focusData(oForm, 'iData1');
			}else{
				ld_cleanData(oForm, 'iData1');
				ld_enabledData(oForm, 'iData2', false);
				ld_focusData(oForm, 'iData1');
			}//if
		}//if
	}//for
}//ld_activeData
	
function ld_valideEmptyFile(oForm, iErrorCode, aMandatory) {
	for (i = 0; i < aMandatory.length; i++){
		oData = eval("oForm.elements." + aMandatory[i]);
		if (!oData.disabled) { 
			if (oData.value == null || oData.value == "0" || oData.value == "") {
				//alert(oData.name);
				ld_displayMessage(iErrorCode);
				oData.focus(); 
				return false;				
			}//if
		}//if
	}//for
	return true;
}//ld_valideEmptyFile

function ld_valideFile(oForm, sData, iErrorCode) {
	//var ePattern = /.(doc|xls|ppt|pdf|html|xml|zip)$/;
	var ePattern = /.(zip)$/;
	var oData = eval("oForm.elements." + sData);
	if (!ePattern.test(oData.value)) {
		ld_displayMessage(iErrorCode);
		oData.focus(); 
		return false;		
  }//if
  return true;
}//ld_valideFile

function ld_valideCheck(oForm, sData, iErrorCode) {
	var oData = eval("oForm.elements." + sData);
	if (!oData.checked) {
		oData.value = 1;
		ld_displayMessage(iErrorCode);
		return false;
	}else{
		oData.value = 2;
		return true;
	}//if	
}//ld_valideCheck

function ld_saveOrder(oForm, fAction, bOption) {
	var bStatus = true;
	var numPattern = /(^-?\d\d*$)/;
	if (!bOption){
		bStatus = ld_valideEmpty(oForm,1);
		if (bStatus) bStatus = ld_valideData(oForm,"iData2",2, numPattern);
		if (bStatus) bStatus = ld_compareData(oForm,"iData1","iData3","iData4");
	}//if
	if (bStatus && ld_valideEmptyData(oForm, "iData11") != "") bStatus = ld_valideFile(oForm,"iData11",6);
	if (bStatus && ld_valideEmptyData(oForm, "iData12") != "") bStatus = ld_valideFile(oForm,"iData12",6);
	if (bStatus && ld_valideEmptyData(oForm, "iData13") != "") bStatus = ld_valideFile(oForm,"iData13",6);
	if (bStatus) bStatus = ld_valideCheck(oForm,"iData15",7);
	if (bStatus){
		oForm.action.value = fAction;
		oForm.submit();
	}//if	
}//ld_saveOrder
	
function ld_saveClient(oForm, fAction) {
	var vatPattern = /^[A-Z]{1}-[0-9]{1,8}|[0-9]{1,8}-[A-Z]{1}$/; // vat number (CIF/NIF)
	var comPattern = /^[A-Za-z0-9_|\s|ñ|\-|á|é|í|ó|ú|,|-|.]{3,100}$/; // last name
	var fnaPattern = /^[A-Za-z|\s|ñ|\-|á|é|í|ó|ú|.|-]{3,50}$/; // first name
	var lnaPattern = /^[A-Za-z|\s|ñ|\-|á|é|í|ó|ú|.|-]{3,50}$/; // last name
	//var telPattern = /^\+[0-9]{2}[0-9]{1,13}$/; // telephone number
	var telPattern = /^[0-9]{1,13}$/; // telephone number
	var addPattern = /^[A-Za-z0-9_|\s|ñ|\-|á|é|í|ó|ú|º|,|\/]{5,100}$/; // address
	var posPattern = /^[0-9]{1,5}$/; // postal code
	var citPattern = /^[A-Za-z|\s|ñ|\-|á|é|í|ó|ú]{3,50}$/; // city
	var couPattern = /^[A-Za-z|\s|ñ|\-|á|é|í|ó|ú]{3,50}$/; // country
	bStatus = ld_valideEmpty(oForm,1);
	if (bStatus) bStatus = ld_valideData(oForm, "iData1", 11, vatPattern);
	if ( (ld_valideRadio(oForm, "iData0") == 2) && bStatus ) bStatus = ld_valideData(oForm, "iData2", 12, comPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData3", 13, fnaPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData4", 14, lnaPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData5", 15, telPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData6", 16, addPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData7", 17, posPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData8", 18, citPattern);
	if (bStatus) bStatus = ld_valideData(oForm, "iData9", 19, couPattern);
	if (bStatus){
		oForm.action.value = fAction;
		oForm.submit();
	}//if	
}//ld_saveClient	

function ld_viewDetails(sForm, sData0) {
	var oForm = eval("document."+ sForm);
	var oData0 = eval("oForm.elements.iData0");
	oData0.value = sData0;
	oForm.submit();
}//ld_viewDetails

function ld_reviewDetails(sForm, sData0, sData99) {
	var oForm = eval("document."+ sForm);
	var oData0 = eval("oForm.elements.iData0");
	var oData99 = eval("oForm.elements.iData99");
	oData0.value = sData0;
	oData99.value = sData99;
	oForm.submit();
}//ld_reviewDetails

function ld_workOrder(sForm, sData26) {
	var oForm = eval("document."+ sForm);
	var oData26 = eval("oForm.elements.iData26");
	oData26.value = sData26;
	if (sData26 == 8){
		if (confirm(fErrorMessage[0]+fErrorMessage[20])) {
			oForm.submit();
		}else{
			return;
		}//if
	}else{
		oForm.submit();
	}//if	
}//ld_workwOrder

function ld_confirmOrder(sForm, sFormPP, iData) {
	var oForm = eval("document." + sForm);
	var oFormPP = eval("document." + sFormPP);
	if (iData == 1){
		oFormPP.submit();
	}else{
		oForm.submit();
	}//if
}//ld_confirmOrder

/*
function ld_reviewOrder(oForm, bOption) {
	var numPattern = /(^-?\d\d*$)/;
	var bStatus = null;
	bStatus = ld_valideEmpty(oForm,1);
	if (!bOption){	
		if (bStatus) bStatus = ld_valideData(oForm,"iData2",2, numPattern);
		if (bStatus) bStatus = ld_compareData(oForm,"iData1","iData3","iData4");
	}//if	
	if (bStatus){
		oForm.submit();
	}//if	
}//ld_reviewOrder
*/

function ld_reviewOrder(oForm, fAction, bOption,iState) {
	var bStatus = true;
	var numPattern = /(^-?\d\d*$)/;
	
	if (iState == 3){
		if (!bOption){
			bStatus = ld_valideEmpty(oForm,1);
			if (bStatus) bStatus = ld_valideData(oForm,"iData2",2, numPattern);
			if (bStatus) bStatus = ld_compareData(oForm,"iData1","iData3","iData4");
		}//if
		if (bStatus && ld_valideEmptyData(oForm, "iData11") != "") bStatus = ld_valideFile(oForm,"iData11",6);
		if (bStatus && ld_valideEmptyData(oForm, "iData12") != "") bStatus = ld_valideFile(oForm,"iData12",6);
		if (bStatus && ld_valideEmptyData(oForm, "iData13") != "") bStatus = ld_valideFile(oForm,"iData13",6);
		if (bStatus){
			oForm.action.value = fAction;
			oForm.submit();
		}//if	
	}else{
		oForm.action.value = fAction;
		oForm.submit();
	}//if	
}//ld_reviewOrder

function ld_downloadOrder(sForm, sData0) {
	var oForm = eval("document."+ sForm);
	var oData0 = eval("oForm.elements.iData0");
	oData0.value = sData0;
	oForm.submit();
}//ld_downloadOrder

function ld_downloadReviewOrder(sForm, sData0, sData99, sData98) {
	var oForm = eval("document."+ sForm);
	var oData0 = eval("oForm.elements.iData0");
	var oData99 = eval("oForm.elements.iData99");
	var oData98 = eval("oForm.elements.iData98");
	oData0.value = sData0;
	oData99.value = sData99;
	oData98.value = sData98;
	oForm.submit();
}//ld_downloadOrder
