﻿function trim(str)
{
	s = str.replace(/^(\s)*/, '');
	s = s.replace(/(\s)*$/, '');
	return s;
}

function dispAlert(elm,msg){				
		var ALtxt=elm.id+"Altxt";		
		var ALtxtID=document.getElementById(ALtxt);
		ALtxtID.innerHTML=msg;
}

function dispAlertImg(elm,opr){		
		var ALtxt=elm+"AltxtImg";	
		var ALtxtID=document.getElementById(ALtxt);
		if (opr=='show'){
			ALtxtID.style.display='';
		}else{
			ALtxtID.style.display='none';
		}
}

function cleanAlert(elm){				
		var ALtxt=elm.name+"Altxt";		
		var ALtxtID=document.getElementById(ALtxt);
		ALtxtID.innerHTML='';
}

function clearAlert(str){				
		var ALtxt=str.toString()+"Altxt";		
		var ALtxtID=document.getElementById(ALtxt);
		ALtxtID.innerHTML='';
}

function reqFields(f,msg){		
		var fVal = f.value;
		fVal = trim(fVal);
		if (fVal == ""){
			f.focus();
			if(msg!='') dispAlert(f,msg);
			return 0;
		}
		return true;		
}

function selectFields(s,msg){		
		var sVal = s.value;
		if (sVal == "0"){
			s.focus();
			dispAlert(s,msg);
			return 0;
		}
		return true;			
}

function numFields(n,msg){		
		var nVal = n.value;
		var nChar = n.value.search("[^0-9]");
		if (nVal.length > 0 &&  nChar >= 0){
			n.focus();
			if(msg!='') dispAlert(n,msg);
			return 0;
		}
		return 1;	
}

function validateEmail(em,msg) {
	var emVal = em.value;
	if (emVal == '') return true;
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (emVal.indexOf(invalidChars.charAt(i),0) > -1) {       
		   em.focus();
		   dispAlert(em,msg);
	      return 0;
	   }
	}
	for (i=0; i<emVal.length; i++) {
	   if (emVal.charCodeAt(i)>127) {
	       em.focus();
		   dispAlert(em,msg);
	      return 0;
	   }
	}

	var atPos = emVal.indexOf('@',0);
	var len = emVal.length;
	if (atPos == -1) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (atPos == 0) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (emVal.indexOf('@', atPos + 1) > - 1) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (emVal.indexOf('.', atPos) == -1) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (emVal.indexOf('.', len-1) != -1) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (emVal.indexOf('@.',0) != -1) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (emVal.indexOf('.@',0) != -1){
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	if (emVal.indexOf('..',0) != -1) {
	    em.focus();
		dispAlert(em,msg);
	   return 0;
	}
	return true;
}


 function numbersonly(e) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==45) || (key==13) || (key==127) || (key==46) )
    return true;

  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;
  else
    return false;
}

function chooseBox(boxName,numberOfBoxes,ErrMsg,showM)
{
	var a=0;
	if(!showM) showM=2;
	
	for (p=1;p<=numberOfBoxes;p++){
		var box = document.getElementById(boxName+p.toString());
		if (box.checked==true){
				return true;
		}else{
			a=1;		
		}
	}
	if (a==1&&showM==2){		
		document.getElementById(boxName+'TD').style.border="1px solid red";
		return false;
	}
	else	
		return false;
}

function validateEmailNoAlert(em) {
	var emVal = em.value;
	if (emVal == '') return true;
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) 
	   if (emVal.indexOf(invalidChars.charAt(i),0) > -1)  return 0;
	
	for (i=0; i<emVal.length; i++) 
	   if (emVal.charCodeAt(i)>127)    return 0;
	   
	var atPos = emVal.indexOf('@',0);
	var len = emVal.length;
	if (atPos == -1) return 0;
	if (atPos == 0)  return 0;	
	if (emVal.indexOf('@', atPos + 1) > - 1)  return 0;
	if (emVal.indexOf('.', atPos) == -1)  return 0;
	if (emVal.indexOf('.', len-1) != -1) return 0;
	if (emVal.indexOf('@.',0) != -1)   return 0;
	if (emVal.indexOf('.@',0) != -1)  return 0;
	if (emVal.indexOf('..',0) != -1)  return 0;
	return true;
}

function selectFieldsNoAlert(s){		
		var sVal = s.value;
		if (sVal == "0"){
			return 0;
		}
		return true;			
}

function numFieldsPhone(n,msg){		
		var nVal = n.value;
		var nChar = n.value.search("[^0-9+-]");
		if (nVal.length > 0 &&  nChar >= 0){
			n.focus();
			if(msg!='') dispAlert(n,msg);
			return 0;
		}
		return 1;	
}

function checkDate(myDay,myMonth,myYear){
		var charpos = myDay.value.search("[^0-9]");
	    var myDayVal = myDay.value;
		var myMonthVal = myMonth.value;
		var myYearVal = myYear.value;		
		if (myDayVal.length > 0 &&  charpos >= 0){
			return false;
		}
		if ((myDayVal<1) || (myDayVal>31)){
			return false;				             
		}
		if ((myMonthVal==04 || myMonthVal==06 || myMonthVal==09 || myMonthVal==11) && myDayVal==31){
			return false;				
		 }
		if (myMonthVal == 02) { // check for february 29th
			var isleap = (myYearVal % 4 == 0 && (myYearVal % 100 != 0 || myYearVal % 400 == 0));
			if (myDayVal > 29 || (myDayVal==29 && !isleap)) {
				return false;
			}
		}
		return true;
}


function reqFields_border(f,msg){		
		var fVal = f.value;
		fVal = trim(fVal);
		if (fVal == ""){
			f.style.borderColor="red";
			f.focus();
			return 0;
		}else{
			f.style.borderColor="";			
		}
		return true;
}

function reqFields_bgcolor(f,msg){		
		var fVal = f.value;
		fVal = trim(fVal);
		if (fVal == ""){
			f.style.background="#ffc96d";
			f.focus();
			return 0;
		}else{
			f.style.background="#ffffff";	
		}
		return true;
}

function selectFields_border(s,msg){		
		var sVal = s.value;
		if (sVal == "0"){
			s.focus();
			return 0;
		}else{
			s.style.borderColor="";			
		}
		return true;
}

function numFields_border(n,msg){		
		var nVal = n.value;
		var nChar = n.value.search("[^0-9(.+)-]");
		if (nVal.length > 0 &&  nChar >= 0){
			n.style.borderColor="red";
			n.focus();			
			return 0;
		}else{
			n.style.borderColor="";
		}
		return true;
}

function validateEmail_border(em,msg) {
	var emVal = em.value;
	if (emVal == '') return true;
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (emVal.indexOf(invalidChars.charAt(i),0) > -1) {       
		   em.style.borderColor="red";
		   em.focus();
	      return 0;
	   }
	}
	for (i=0; i<emVal.length; i++) {
	   if (emVal.charCodeAt(i)>127) {
	       em.style.borderColor="red";
		   em.focus();
	      return 0;
	   }
	}

	var atPos = emVal.indexOf('@',0);
	var len = emVal.length;
	if (atPos == -1) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (atPos == 0) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (emVal.indexOf('@', atPos + 1) > - 1) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (emVal.indexOf('.', atPos) == -1) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (emVal.indexOf('.', len-1) != -1) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (emVal.indexOf('@.',0) != -1) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (emVal.indexOf('.@',0) != -1){
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	if (emVal.indexOf('..',0) != -1) {
	   em.style.borderColor="red";
	   em.focus();
	   return 0;
	}else{
		em.style.borderColor="";
	}
	return true;
}

function validateEmail_bgcolor(em,msg) {
	var emVal = em.value;
	if (emVal == '') return true;
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (emVal.indexOf(invalidChars.charAt(i),0) > -1) {       
		   em.style.background="#ffc96d";
		   em.focus();
	      return 0;
	   }
	}
	for (i=0; i<emVal.length; i++) {
	   if (emVal.charCodeAt(i)>127) {
	       em.style.background="#ffc96d";
		   em.focus();
	      return 0;
	   }
	}

	var atPos = emVal.indexOf('@',0);
	var len = emVal.length;
	if (atPos == -1) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (atPos == 0) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (emVal.indexOf('@', atPos + 1) > - 1) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (emVal.indexOf('.', atPos) == -1) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (emVal.indexOf('.', len-1) != -1) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (emVal.indexOf('@.',0) != -1) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (emVal.indexOf('.@',0) != -1){
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	if (emVal.indexOf('..',0) != -1) {
	   em.style.background="#ffc96d";
	   em.focus();
	   return 0;
	}else{
		em.style.background="#ffffff";
	}
	return true;
}

function setBorder(elm,w,c){
	elm.style.borderWidth=w+'px';
	elm.style.borderColor=c;
}

function setFieldColor(elm,c){
	elm.style.background=c;
}

function showhide(elmName,i){
	 if (document.getElementById){
					
		if (i!=0)
			var elm = document.getElementById(elmName+i.toString());
		else
			var elm = document.getElementById(elmName);
		
		if (elm.style.display == "none"){
			elm.style.display = "";
		} else if (elm.style.display == ""){
			elm.style.display = "none";
		}
	}
}

function getPos(elmntName) {
	var elmnt = document.getElementById(elmntName);
	//elmntW=elmnt.width/2;
	var t=$(window).scrollTop();	
	var x=$(window).width()/2;
	var y=$(window).height()/2;
	elmnt.style.top=t+y/2+'px';
	elmnt.style.left=x-250+'px';
}


function validateEnglish1(em,msg) {
	var emVal = em.value;
	if (emVal == '') return true;
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|@><=-*&#$%+,`~_';
	for (i=0; i<invalidChars.length; i++) {
	   if (emVal.indexOf(invalidChars.charAt(i),0) > -1) {       
		   em.focus();
		   dispAlert(em,msg);
	      return 0;
	   }
	}
	for (i=0; i<emVal.length; i++) {
	   if (emVal.charCodeAt(i)>127) {
	       em.focus();
		   dispAlert(em,msg);
	      return 0;
	   }
	}
	return true;
}
function validateEnglish(em,msg) {
	var emVal = em.value;
	if (emVal == '') return true;
	var charpos = emVal.search("[^A-Za-z0-9]"); 
	if(charpos >= 0){ 
		em.focus();
		dispAlert(em,msg);
	    return 0;
	}//if 
	return true;
}	

function cutString(str, limit, elm, i){
	var elmID='#'+elm+i;
	if (str.length>limit){
		 $j(elmID).html(str.slice(0,limit)+"...");
	}
	else $j(elmID).html(str);
}

function cleanTextInput(currText, id){
	if ($j('#'+id).val()==currText){
		$j('#'+id).val('');
	}else if($j('#'+id).val()==''){
		$j('#'+id).val(currText);
	}
}

function fadeAlerts(id,t){
	setTimeout ("$j('#"+id+"').hide();", t);
}

function setElmSize(opr,id_from,id_target,w,h,min_w,min_h){
	if (opr=='set'){
		if (id_from!=''){
			var w = $j('#'+id_from).width();
			var h = $j('#'+id_from).height();
		}
		if (w!=''){
			if (min_w!='' && min_w>w){
				w=min_w;
			}
			$j('#'+id_target).width(w+'px');
		}
		if (h!=''){
			if (min_h!='' && min_h>h){
				h=min_h;
			}
			$j('#'+id_target).height(h+'px');
		}
	}else if(opr=='add'){
		if (id_from!=''){
			var from_w = $j('#'+id_from).width();
			var from_h = $j('#'+id_from).height();
		}
		if (w!=''){
			$j('#'+id_target).width(from_w+w+'px');
		}
		if (h!=''){
			$j('#'+id_target).height(from_h+h+'px');
		}
	}
}

function show_confirm(opr)
{
	var r=confirm(opr+'?');
	if (r==true){
		return true;
	}
	else{
		return false;
	}
}

function alphaNumSpaceFields(str,msg){
	var strVal = str.value;
	var myRegxp = /^([-a-zA-Z0-9\s]+)$/;
	if (myRegxp.test(strVal)==false){
		str.focus();
		if(msg!='') dispAlert(str,msg);
		return 0;
	}
	return true;
}

function validateURL(em, msg){
	var emVal = em.value;
	emVal=emVal.split("/");
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w\u0590-\u05FF]|%[a-fA-f\d]{2,2})+(:([\d\w\u0590-\u05FF]|%[a-fA-f\d]{2,2})+)?@)?([\d\w\u0590-\u05FF][-\d\w\u0590-\u05FF]{0,253}\.)+[\w\u0590-\u05FF]{2,4}(:[\d]+)?(\/([-+_~.\d\w\u0590-\u05FF]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w\u0590-\u05FF]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w\u0590-\u05FF]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(emVal[0])){
        return true;
    }else{
		dispAlert(em,msg);
        return false;
    }
}

function switchClass(cls1,cls2,id)
{	
	$j('.'+cls1).removeClass(cls2);
	$j('#'+id).addClass(cls2);
}
