//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function loadForm() {}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function formsSubmit(o)
{
	var oAll						= window.document.all;
	var form						= window.document.forms[0];
//debugger();
	//alert(currentlang);
	//try
	//{
		if(form.id.toLowerCase()=="contactus")
		{
			var collection1			= form.tags("INPUT");
			var collection2			= form.tags("SELECT");
			var collection3			= form.tags("TEXTAREA");
			
			var lang				= currentlang;//oAll.currentlang.value.toUpperCase();
		
			loadForm();
			loadForm.sd			= new SiteDictionary("../../Shared/ClientScripts/validation.dictionary."+lang+".xml");
			
			//alert(form.getAttribute("action"));
			randNum = Math.round(dateObj.getMinutes()/(dateObj.getMilliseconds()+0.1)*1000);
			form.setAttribute("action", location.href+"?rn="+randNum);
			//alert(form.getAttribute("action"));
			if(onSendForm2(collection1))		return;
			if(onSendForm2(collection2))		return;
			if(onSendForm2(collection3))		return;
			
			//var formObj = window.document.getElementsByTagName("form")[0];
			SetSelectedIndexToValue("selectTitle");
			SetSelectedIndexToValue("selectCountry");
		
			form.submit()
		}
/*
	}
	catch(e)
	{
		alert(e.description)
	}	*/
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function add2submit(o)
{
	try
	{
		var oAll				= document.all;
		var folders				= o.value.split("\\");
		var file				= folders[folders.length-1];
		
			oAll.fileName.value	= file;
	}
	catch(e)
	{
		//alert(e.description)
	}	
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function formsReset(o)
{
		var form		= window.document.forms[0];
			form.reset();
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



function contact_overImage(obj)
{
	obj.src = eval(obj.name + "_On.src");
	obj.style.cursor = 'hand';
}

function contact_outImage(obj)
{
	obj.src = eval(obj.name + "_Off.src");
}

/*function contact_init(obj)
{
	document.all('txtSenderName').focus();
}

function contact_initPostback(obj)
{

}*/

var contact_strContactUsUniqueID = "";
function contact_getUniqueID()
{
	var input = document.all.tags('INPUT');
	
	for (var i=0 ; i<input.length ; i++) 
	{
		for (var j in input[i])
		{
			if (input[i].id.indexOf("txtUcContactUsID") != -1)
			{
				return input[i].id.replace("_txtUcContactUsID", "");
			}
		}	
	}
}

function contact_resetForm(obj)
{
	var form = window.document.forms[0];
	form.reset();
}

// check form
function contact_checkForm(obj)
{
	var form = window.document.forms[0];

	if (onSaveKSForm(window.document.forms[0].name))
	{
		return false;
	}
	
	document.all.ContactUsTemplate_btnSend.click();
}


//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function onSendForm2(oFields)
{
	dv					= {};
	dv.error			= false;
	
//	try
	//{
		for(var i=0; i<oFields.length; i++)
		{
			var oInput	= null;
			
			if(oInput	= oFields[i])
			{
				var dv	= new dataValidator(oInput);
				dv.getValue();
				//alert(oInput.id);
				dv.checkField();

				if(dv.error)	break;
			}
		}
/*
	}
	catch(e){
	alert(".onSendForm2(): " + e.description);
	//window.status=".onSendForm2()"+e.description
	dv.error=true;
	}	*/

	return dv.error;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function onChangeKSFormField(formname, current, value)
{
	//alert(formname+": \n onchange() "+current.id+"="+current.datatype+","+current.modifier+" value="+value);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function onBlurKSFormField(formname, current, value)
{
	//alert(formname+": \n onblur() "+current.id+"="+current.datatype+","+current.modifier+" value="+value);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function onSaveKSForm(formname)
{
	//alert(formname+": \n onsave() \n" + xmldom.xml);
	
	//var oFields = document.all["__field__"];_form_KSForm_field_first_name
	var oForm = document.forms[0];
	
	try
	{
		if (true)//(formname!="OrderForm")
		{	// Standard check functions
			for(var i=0; i<oForm.length; i++)
			{
				var oInput = null;
				
				//alert(oForm[i].name=="");
				if(oInput = oForm[i])
				{
					//alert(oInput.id)
					var dv		= new dataValidator(oInput);
						dv.getValue();
						dv.checkField();

						if(dv.error)	break;
				}
			}
			//return true
		}
	}
	catch(e){window.status=".onSaveKSForm()"+e.description}	
	
	return dv.error;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function msgBox(current, code, noCol)
{
	//alert("msgBox");
	try
	{
//		var labelid	= current.id.replace(/_field_/gim,"_label_");
		var labelid		= current.id+"Lbl";
		var message	= "";
		var label	= "";
		
		if(document.all[labelid])
		{
			label	= document.all[labelid].innerText.replace("*", "");
		}
		else	
		{
			labelid		= current.id.replace("_field_", "_label_");
			
			if(document.all[labelid])
			{
				label	= document.all[labelid].innerText.replace("*", "");
			}
			else
			{
				window.status = labelid;
			}
		}	
		
		if(code)		message	= loadForm.sd.get(code);
		
		if(noCol)		alert(message);
		else			alert(message+": "+label.replace(":", ""));
		
		try{	current.focus();	} catch(e){}
		try{	current.select();	} catch(e){}
	}
	catch(e)
	{
		throw new Error(".msgBox() "+e.description);
		//alert(".msgBox() "+e.description);
		dv.error = true;
	}
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator(current)
{
	this.current	= current;
	this.error		= false;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.getValue()
{
	//try
	//{
		if(!this.current.datatype)
		{
			this.data	= "";
			return;
		}
		switch(this.current.datatype.toLowerCase())
		{
			case "boolean":
			break;
			case "text":
						this.data	= this.current.innerText;	
			break;
			case "codes":
			break;
			case "code":
			
				switch(this.current.modifier.toLowerCase())
				{
					case "radio":
					
						this.data				= "";
						var radioName			= this.current.name;
						var radioCollection		= this.current.childNodes;
						
						for(var j=0; j<radioCollection.length; j++)
						{
							if(radioCollection[j].tagName && radioCollection[j].tagName.toUpperCase()=="INPUT")
							{
								if(radioCollection[j].checked)
								{
									this.data	= radioCollection[j].value;
								}
							}
						}
					break;
					default:
					
						this.data	= this.current.value;	
					break;	
				}
			
			break;
			default:
			
						this.data	= this.current.value;	
			break;
		}
	/*
	}
	catch(e){
	throw new Error(".getValue()"+e.description);
	alert(".getValue()"+e.description)
	this.error = true;
	};*/
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.checkField()
{
	//alert("checkField")
	//try
	//{
		if(this.current.required && this.current.required.toLowerCase()=="true")
		{
			if(this.isEmpty())
			{
				msgBox(this.current, "emptyField");
				this.error		= true;
			}
		}
		if(this.current.datatype && this.current.datatype.toLowerCase()=="number")
		{
			if(!this.isNumber())
			{
				msgBox(this.current, "noNumberField");
				this.error		= true;
			}
		}
		if(this.current.datatype && (this.current.datatype.toLowerCase()=="datetime"|| this.current.datatype.toLowerCase()=="date"))
		{
			if(!this.isDate())
			{
				msgBox(this.current, "noDateTimeField");
				this.error		= true;
			}
		}
		if(this.current.datatype && this.current.datatype.toLowerCase()=="string" && this.current.modifier)
		{
			
			switch(this.current.modifier.toLowerCase())
			{
				case "phone":
				case "cell_phone":
					if(!this.isPhone())
					{
						msgBox(this.current, "noNumberField", true);
						this.error		= true;
					}
				break;
				
				case "email":
					if(!this.isEMail())
					{
						msgBox(this.current, "noEmailField", true);
						//msgBox(this.current, "", true );
						this.error		= true;
					}
				break;
			}
		}
	/*
	}
	catch(e){
		throw new Error(".checkField()"+e.description);
		alert(".checkField(): " + e.description);
		this.error = true;
	};*/
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isEmpty()
{
	var dt		= this.data;
    var vle		= trim(dt);
    
	return (vle=="");
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isInt()// +,-, 0-9
{
	var dt		= this.data;
    var vle		= trim(dt);
    if(vle=="")								return true;
    
    return (vle.match(/^[ ]*[+-]?\d+[ ]*$/)!=null); // integer||null
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isNumber()// +,-, 0-9.0-9
{
	var dt		= this.data;
    var vle		= trim(dt);
    if(vle=="")								return true;
    
    return(vle.match(/^[ ]*[+-]?\d+[ ]*[\.]?([0-9]*)?$/)!=null); // number||null
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isDate()// xx/xx/xxxx
{
	var dt		= this.data;
    var vle		= trim(dt);
    if(vle=="")								return true;
    
	var arr		= vle.split("/");
		
	if(arr.length!=3)						return false;	
	
	var	dd		= CInt(arr[0]);
	var	mm		= CInt(arr[1]);
	var	yyyy	= CInt(arr[2]);
		
    if(dd   <1    || dd > 31)				return false;
    if(mm   <1    || mm   > 12)				return false;
    if(yyyy <1900 || yyyy > 2100)			return false;
    if(yyyy%4==0 & mm==2 & dd>29)			return false;
    if(yyyy%4!=0 & mm==2 & dd>28)			return false;
    if((mm==4||mm==6||mm==9||mm==11)&dd>30)	return false;
    
    try{var d	= new Date(vle);}catch(e){	return false;}

                                            return true;
}   
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isEMail()// simple check
{
	var dt		= this.data;
    var vle		= trim(dt);
	
	if(vle=="")	return true;
	
	return (vle.match(/^([a-zA-Z0-9_\-\.]+)@[\w-]+\.([a-zA-Z]+|[a-zA-Z]+\.[a-zA-Z]+)$/)!=null);
	//return (vle.match(/^[\w-]+@[\w-]+\.([a-zA-Z]+|[a-zA-Z]+\.[a-zA-Z]+)$/)!=null);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isZipCode()
{
	var dt		= this.data;
    var vle		= trim(dt);
    
    if(vle=="")							return true;

	return (vle.match(/^\d{5}$/)!=null);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isPhone()
{
	var dt		= this.data;
    var vle		= trim(dt);
   
    if(vle=="")							return true;
	
	//if(vle.replace(/[0-9 ]*/g,"")=="")return true;
	//if(vle.replace(/[0-9 -]*/g,"")=="") return true;
	if(vle.replace(/[0-9 \-\+\.\#\*\/\(\)a-zA-Z]*/g,"")=="")
		return true;
	return false;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isId()
{
	var dt		= this.data;
    var vle		= trim(dt);
    if(vle=="")							return true;

	return (vle.match(/^\d{9}$/)!=null);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.isAlphabet()
{
	var dt		= this.data;
    var vle		= trim(dt);
	if(vle=="")							return true;

	var newvle	= vle.replace(/[0-9]*/g,"");
		newvle	= newvle.replace(/[@#\$%\^&\*-\+]*/g,"");
	
	return	(vle.length==newvle.length);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.getKSFormat()
{
	try
	{
		var dt			= this.data;
		
		if(trim(dt)=="")		return dt;
		if(dt.indexOf("-")>0)	return dt;
		
		var arr			= dt.split("/");
		
		if(arr.length!=3)		return dt;
		
		var dd			= arr[0];
		var mm			= arr[1];
		var yyyy		= arr[2];
			
		var ddmmyyyy	= yyyy + "-"+ mm + "-" + dd;
		
				return ddmmyyyy;
	}
	catch(e){	return this.data;}		
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.getILFormat()
{
	try
	{
		var dt			= this.data;
		
		if(trim(dt)=="")		return dt;
		if(dt.indexOf("T")>0)	return dt;	// if meta date
		
			dt			= dt.replace(/-/,"/");	

		var d			= new Date(dt);	
		var dd			= d.getDate();       if (dd<10) dd = "0" + dd;
		var mm			= d.getMonth() + 1;  if (mm<10) mm = "0" + mm;
		var yyyy		= d.getFullYear();
			
		var ddmmyyyy	= dd + "/"+ mm + "/" + yyyy;
		
				return ddmmyyyy;
	}
	catch(e){	return this.data;}		
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function dataValidator.prototype.getUSAFormat()
{
	try
	{
		var dt			= this.data;
		
		if(trim(dt)=="")		return dt;
		if(dt.indexOf("T")>0)	return dt;	// if meta date
		
			dt			= dt.replace(/-/,"/");	

		var d			= new Date(dt);	
		var dd			= d.getDate();       if (dd<10) dd = "0" + dd;
		var mm			= d.getMonth() + 1;  if (mm<10) mm = "0" + mm;
		var yyyy		= d.getFullYear();
			
		var ddmmyyyy	= yyyy + "/"+ mm + "/" + dd;
		
				return ddmmyyyy;
	}
	catch(e){	return this.data;}		
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function SiteDictionary(path)
{
	try
	{
		this.dom       = new ActiveXObject("Microsoft.XMLDOM");
		this.dom.async = false;
		
		if(!this.dom.load(path))
		{
		
			var err		= this.dom.parseError;

			throw new Error(" reason="+err.reason+" line="+err.line+" srcText="+trim(err.srcText));		
		}
	}
	catch(e){  
		//alert("SiteDictionary() error="+e.description);
	}
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function SiteDictionary.prototype.get(word)
{
	var xpath	= "/SITE/KEY[@ID='"+word+"']";
	
	try
	{
		return this.dom.selectSingleNode(xpath).text;
	}
	catch(e)
	{
		//alert("SiteDictionary.get("+xpath+") \n error="+e.description);
	}
	return word;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function transformData2Save()
{
	var dt;
	
	//getObj(oType);
	
	for(var o in oType)
	{
		dt	= new dataValidator(oData[o]);
		
		switch (oType[o].toLowerCase())
		{
			case "datetime":

						if(oData[o].indexOf("T")>0)			break;	//break $metadate
						if(oData[o].split("-").length==3)	break;	//break ks format
						
						if(dt.isDate())		oData[o] = dt.getKSFormat();
						else
						{
							alert("datetime:"+oData[o]);
							return false;
						}			
			break;
			case "boolean":
			break;
			case "code":
			break;
			case "number":
			
						if(!dt.isNumber())
						{
							alert("number:"+oData[o]);
							return false;
						}			
			break;
			case "string":
			default:
			break;
		}
	}
	return true;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function transformData2Show()
{
	var dt;
	
	for(var o in oType)
	{
		dt	= new dataValidator(oData[o]);
		
		switch (oType[o].toLowerCase())
		{
			case "datetime":
			
						oData[o]	= dt.getILFormat();
			break;
			case "boolean":
			break;
			case "code":
			break;
			case "number":
			break;
			case "string":
			default:
			break;
		}
	}
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

function SetSelectedIndexToValue(SelectName)
{
	//var selectInd = document.ContactUs.testSelect.selectedIndex;
	var selectObj = window.document.getElementById(SelectName);
	var selInd = selectObj.selectedIndex;
	//alert(selectObj.item(selInd).value);
	if(selInd>0) selectObj.item(selInd).value = selInd;
	//alert(selectObj.item(selInd).value);
}

//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function CInt(vle,dflt)
{
    var str		= trim(vle);
    var strd	= trim(dflt);
    
	var intg	= parseInt(str,10);
	var intd	= parseInt(strd,10);
	
		intd	= (isNaN(intd)?0:intd);
    
	return (isNaN(intg)?intd:intg);
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function CStr(vle,dflt)
{
       dflt += "";
    if(dflt=="undefined") dflt = "";
    if(dflt=="null")      dflt = "";

       vle += "";
    if(vle=="undefined") return dflt;
    if(vle=="null")      return dflt;
    
    return vle;
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function trim(vle)
{
        var trm = CStr(vle);
    return  trm.replace(/(^\s*)|(\s*$)/g, "");
}
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

