// JavaScript Document
function trim(Val)
{
	while(''+Val.charAt(0)==' ')
	Val=Val.substring(1,Val.length);
	return Val;
}

function IsValidNumber(sText,Label)
{
   var ValidChars = "0123456789";
   var IsValid=true;
   var Char;
   for (i = 0; i < sText.length && IsValid == true; i++) 
   { 
      Char = sText.charAt(i); 
      if(ValidChars.indexOf(Char) == -1) 
      {
         IsValid = false;
      }
   }
   return IsValid;
}
function IsValidPrice(sText,Label)
{
   var ValidChars = "0123456789.";
   var IsValid=true;
   var Char;
   for (i = 0; i < sText.length && IsValid == true; i++) 
   { 
      Char = sText.charAt(i); 
      if(ValidChars.indexOf(Char) == -1) 
      {
         IsValid = false;
      }
   }
   return IsValid;
}


function IsValidValue(Val,Label)
{
	if(trim(Val)=="")
	{
		alert(Label+" Should Not be Empty");
		return false;
	}
	return true;
}

/***************** functions belongs to registration step2  - start *******************/

var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz. ';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ. ';

function isValid(parm,val) {
	if (parm == "") return true;
	for (i=0; i<parm.length; i++) {
		if (val.indexOf(parm.charAt(i),0) == -1) return false;
	}
	return true;
}
function isNum(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}


function select_all_options() {
	var optionsSel = document.getElementById('targetOptions');
	for (var i = 0; i < optionsSel.length; i++) {
		optionsSel.options[i].selected = true;
	}
}

function IsValidURL(Val,Label){
	var inValidChars = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890-_:/.";
	for (i = 0; i < Val.length; i++){   
		var c = Val.charAt(i);
		if (inValidChars.indexOf(c) == -1 ){
			alert("Invalid characters found in "+Label);
			return false;
		}
	}
}
function isEmail(s){
	var i = 1,Length = s.length,result;
	if(s==""){
		alert("Email Address should not be Empty");
		return false;
	}
	while((i<Length) && (s.charAt(i) != '@')) i++;
	if ((i == Length) || (s.charAt(i) != '@')){
		alert("Email Address don\'t have the character @ after the login name");
		return false;
	}
	i+=2;
	while((i<Length) && (s.charAt(i) != '.')) i++;
	if ((i == Length) || (s.charAt(i) != '.')){
		alert("Email Address don\'t have the character after the domain name ");
		return false;
	}
	if (i+1 >= Length){
		alert("Email Address should have atleast one character after.");
		return false;
	}
	return true;
}

function validateNumber(field, msg, min, max) {
	var today=new Date();
	if (!min) { min = 1800; }
	if (!max) { max = parseInt(today.getFullYear()); }
	
	if (field.value < min || field.value > max) {
		alert(msg);
		field.focus();
		field.select();
		return false;
	}
	return true;
}
/***************** functions belongs to registration steps  - end *******************/

	function array_unique(ar){
	  var sorter = {};
	  for(var i=0,j=ar.length;i<j;i++){
		sorter[ar[i]] = ar[i];
	  }
	  ar = [];
	  for(var i in sorter){
		ar.push(i);
	  }
	  return ar;
	}
	function onKeyPressOnlyNumbers(e)
	{
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);
		reg = /[ a-zA-Z!@#$%^&*()-+=_|?<>.,'";:\/\\\[\]{}~`]/;
		return !reg.test(keychar);
	}
	
	function onKeyPressOnlyPhoneNumbers(e)
	{
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);
		reg = /[a-zA-Z!@#$%^&*-+=_|?<>.,'";:\/\\\[\]{}~`]/;
		
		return !reg.test(keychar);
	}

	function IsValidZipCode(sText,Label){
		//var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890-";
		var ValidChars = "1234567890";
		var IsValidText=true;
		var Char;
		if(sText=="") {alert(Label+ " Should not be Empty");return false}
		if(sText.length < 5){
		alert(Label+ " should have atleast 5 characters");
		return false;
		}
		for (i = 0; i < sText.length && IsValidText == true; i++){ 
		Char = sText.charAt(i).toUpperCase(); 
		if(ValidChars.indexOf(Char) == -1){
		IsValidText = false;
		}}
		if(!IsValidText)
		alert(Label+ " Invalid Charactes found")
		return IsValidText;
	}
function dynamicLoadJS(strURL){var head = document.getElementsByTagName("head")[0];var scrpt = document.createElement("script");scrpt.id = "DynaScript";scrpt.type = 'text/javascript';scrpt.src = strURL;head.appendChild(scrpt);}
	var getXYPosition = function(curobj, subobjstr,XPosi,YPosi, opt_position, showposition,showtype) {
	  //  dynamicLoadJS("javascript/layout.js");
	  
		if ($){
			var subobj=$(subobjstr);
			//subobj.style.display=(subobj.style.visibility!="visible")? "visible" : "hidden"
			var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
			var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
			xpos=xpos-XPosi;
			if(YPosi == 0)
				ypos = document.getElementById(showposition).clientHeight;
			else
			{
				if(showtype == "showtop")
					ypos = ypos - (YPosi + 20);
				else
					ypos = ypos + YPosi;
			}	
			subobj.style.left=xpos+"px"
			subobj.style.top=ypos+"px"
			return false
			}else
			return true
	}
	var getposOffset = function (overlay, offsettype){
			if(document.getElementById(overlay))	{
			var totaloffset=(offsettype=="left")? document.getElementById(overlay).offsetLeft : document.getElementById(overlay).offsetTop;
			var parentEl=document.getElementById(overlay).offsetParent;
			while (parentEl!=null){
				totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
				parentEl=parentEl.offsetParent;
			}
		}	else	{
			var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
			var parentEl=overlay.offsetParent;
			while (parentEl!=null){
				totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
				parentEl=parentEl.offsetParent;
			}	
		}
		return totaloffset;
	}
	
	var OverlayCloseLayer	= function(id)	{
		$(id).style.visibility = 'hidden';
		$(id).style.position   = 'absolute';
	}
/* Ajax Function*/

var xmlHttp=null;
	function AjaxHttpObject() {
		if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			var aVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
			for(var i=0;i<aVersions.length;i++) {
				try {
					xmlHttp = new ActiveXObject(aVersions[i]);
					return xmlHttp;
				}
				catch(oError) {
					alert("Your browser does not support AJAX !!!");
					alert(aVersions[i] + " not found...");
				}
			}
		}
		return xmlHttp;
	}

function valitationTestimonial(UserID){
	if(UserID ==''){
alert("To ensure the validity of testimonials you must be logged in to add a testimonial. Please create an account or log in if you have already signed up. Click “OK” to continue.");
	}
}
