﻿// required fields (code sent by client's selection
var cuFields = new Array();
cuFields[0] = "Subject";
cuFields[1] = "Comments";
cuFields[2] = "Full Name";
cuFields[3] = "Company Name";
cuFields[4] = "Phone";
cuFields[5] = "Moble";
cuFields[6] = "Email";
cuFields[7] = "Address";
cuFields[8] = "Country";

// pre-submit script
function fnSetDatatoXml()
{
   if(!CheckFills())
   {
     //event.returnValue = false;
     return false;
   }
   MessageFills(0, true);
   fnReset();
   return true;
}
// updates message area
function MessageFills(index, msg)
{
   if (msg)
      document.getElementById("spMessage").innerHTML  = arrayMessages[index];
   else
      alert(arrayMessages[index]);
}
// check required fields
function CheckFills()
{
  var reqField;
  // non-valid required fields
  for (var i=0 ; i<cuFields.length ; i++)
  {
    if (i==1) continue; // comments are never checked for empty field
    reqField = document.getElementById(cuFields[i]);
    if (reqField.parentNode.parentNode.firstChild.className == 'requirementFild' &&
        trim(reqField.value).length == 0) {
        MessageFills(1);
        return false;
    }
  }
  // email validation
  if(!isValidEmail(document.getElementById(cuFields[6]).value))
  {
	   MessageFills(2);
		 return false;
  }
  // success
  MessageFills(3,true);
  return true;
}
function isValidEmail(emailAddress) {
  if (emailAddress.length == 0) return true;
  var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  return re.test(emailAddress);
}
// validates email field
function validateEmailv2(email)
{
  if(email != "")
	{
		var splitted = email.match("^(.+)@(.+)$");
		if(splitted == null) return false;
		if(splitted[1] != null )
		{
		  var regexp_user=/^\"?[\w-_\.]*\"?$/;
		  if(splitted[1].match(regexp_user) == null) return false;
		}
		if(splitted[2] != null)
		{
		  var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		  if(splitted[2].match(regexp_domain) == null) 
		  {
			  var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			  if(splitted[2].match(regexp_ip) == null) return false;
		  }
		  return true;
		}
	  return false;
	}
	return true;
}
// load subject from item link to contact us form
function fnLoadSubject()
{
	 try
	 {
	    if (location.href.indexOf("#") > -1)
	    {
		    var s = location.href.split("#");
		    if(s[1]==arrayMessages[4]) s[1]="";
		    //document.getElementById("Subject").value = fnUrlDecode(s[1]);
		    // removed url encoding
		    document.getElementById("Subject").value = s[1];
		  }
	 }
	 catch(e){}
}
// convert url encoded to readable string
function fnUrlDecode(url)
{
  url = unescape(url);
  var str = "";
  var i = 0;
  var c = 0, c1 = 0, c2 = 0, c3;
  while (i < url.length) {
         c = url.charCodeAt(i);
         if (c < 128) {
             str += String.fromCharCode(c);
             i++;
         } else if(c > 191 && c < 224) {
             c2 = url.charCodeAt(i+1);
             str += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
             i += 2;
         }  else {
             c2 = url.charCodeAt(i+1);
             c3 = url.charCodeAt(i+2);
             str += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
             i += 3;
         }
  }
  return str.replace(/%20/g," ");
}
// convert unicode characters (hebrew) - obsolete
function fnConvertUTF_HEB(key)
{
 var delim = "%D7%";
 var intHEB = parseInt("540",16);
 var s="";
 key = key.replace(/\s/g,"%20");
 var ar = key.split(delim);
 if (ar.length < 2) ar = key.split(delim.toLowerCase());
 for(var i=1;i<ar.length;i++){
   if(ar[i].indexOf("%20")>-1)
	 {
		  ar[i] = ar[i].replace("%20","");
		  s+= String.fromCharCode(parseInt(ar[i],16)+intHEB) + " "; 
	 }
	 else
	 {
      s+= String.fromCharCode(parseInt(ar[i],16)+intHEB); 
   }
 }
 return (s=="") ? key : s;
}
// dencode spaces in url
function fnDecodeWhiteCharacters(s)
{
  s = s.replace(/\s/g,"%20");
  while(s.indexOf("%20")>-1)
		s = s.replace(/%20/g," ");
	return s;
}
// clear form fields
function clearFields()
{
  document.getElementById("Subject").value = "";
  document.getElementById("Comments").value = "";
  document.getElementById("Full Name").value = "";
  document.getElementById("Company Name").value = "";
  document.getElementById("Phone").value = "";
  document.getElementById("Moble").value = "";
  document.getElementById("Email").value = "";
  document.getElementById("Address").value = "";
  document.getElementById("Country").value = "";

  var inputs = document.getElementsByTagName("INPUT");
  for (var i=0 ; i<inputs.length ; i++)
		if (inputs[i].type.toLowerCase() == "submit")
		{ inputs[i].disabled = false;break; }
}
// clear form fields after submit
function fnReset()
{
	var inputs = document.getElementsByTagName("INPUT");
    for (var i=0 ; i<inputs.length ; i++)
		  if (inputs[i].type.toLowerCase() == "submit")
		  { inputs[i].disabled = true;break; }

  setTimeout('clearFields()',500);
}
// triming trailing spaces
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

/***********Remove Flash Control*******************************/
function fnReleaseFlash(){
	  objects = document.getElementsByTagName("embed");
		for (var i = 0; i < objects.length; i++)
      objects[i].parentElement.innerHTML = objects[i].outerHTML;
}
