
//perform some common validations on all input boxes
/*
Temporary Disabled 11 feb 2008
try {
		var input_boxes=document.getElementsByTagName("INPUT");
		for(var i=0;i<=input_boxes.length;i++) {
			input_boxes[i].setAttribute('maxLength',100);
		}
}
catch (e){}

try {
submit_form=document.getElementByTagName('form');
submit_form.setAttribute("onsubmit","return false");
}catch (e){}
*/

function go(string) {
	var records=document.frm.DisplayRecords.value;
	if(IsNumeric(records)){
		if(records>0) {
			//form is valid, so take actions if any befor submitting it
			//the following if conditions are reserved for future use
			if(string=='Move_To_Previous_Page')document.frm.submit();
			if(string=='Move_To_Next_Page')document.frm.submit();
			if(string=='with_selected_function')document.frm.submit();
			if(string=='ShowThisPage')document.frm.submit();
			if(string=='sort_col')document.frm.submit();
			if(string=='submit')document.frm.submit();
			if((string=='sponsor')||(string=='rockman')) {
				if(check_date()) return true;
				else return false;
			}
			
			if(string=='DisplayRecordsGo') {
				document.frm.ShowThisPage.value=0;
				document.frm.submit();
			}
		} else {alert('Please enter a valid number of records per page');  return false;}
	} else  { alert('Please enter a valid number of records per page'); return false;}
}



function Move_To_Previous_Page() {
			document.frm.ShowThisPage.value=(document.frm.ShowThisPage.value*1)-1;
			go("Move_To_Previous_Page");
		}

function Move_To_Next_Page() {
			
			document.frm.ShowThisPage.value=(document.frm.ShowThisPage.value*1)+1;
			
			go("Move_To_Next_Page");
		}


function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }


function check_all() {
	var counter=document.frm.counter_start.value;
	var counter_end=document.frm.limit.value;
	counter_end=(counter*1)+(counter_end*1);
	//alert("counter="+counter+" end="+counter_end);
	var i=0;
	for (i=counter;i<=counter_end;i++) {
		var checkbox='check_'+i;
		try {
			document.getElementById(checkbox).checked=true;
		}catch(e){}
	}
}

function uncheck_all() {
    var counter=document.frm.counter_start.value;
	var counter_end=document.frm.limit.value;
	counter_end=(counter*1)+(counter_end*1);
    var i=0;
	for (i=counter;i<=counter_end;i++) {
		var checkbox='check_'+i;
		try {
			document.getElementById(checkbox).checked=false;
		}catch(e){}
	}
}

function check_rows(counter) {
}

function with_selected_function() {
	var counter=document.frm.counter_start.value;
	var counter_end=document.frm.limit.value;
	counter_end=(counter*1)+(counter_end*1);
	var i=0,checked;

	for (i=counter;i<=counter_end;i++) {
		var checkbox='check_'+i;
		try {
			if(document.getElementById(checkbox).checked) checked=true;
		}catch(e){}
	}
	if(checked) {
		var selected_value=document.getElementById('with_selected').value;
		if(selected_value==4) {
			var temp=confirm("Are you sure you want to delete");
			if(temp) {
				document.frm.change_selection.value=1;
				go('with_selected_function');
			}else {document.getElementById('with_selected').value='';uncheck_all();}
		} else {
				document.frm.change_selection.value=1;
				go('with_selected_function');
		}
	} else {}
}
function trim(string) {
	var a = string.replace(/^\s+/, '');
	return a.replace(/\s+$/, '')
}

function echeck(str,div_object) {
		var member_email_div=div_object;
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		    return false
		}
		if (str.indexOf(at,(lat+1))!=-1){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		    return false
		 }
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		    return false
		 }
		if (str.indexOf(dot,(lat+2))==-1){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		    return false
		 }
		if (str.indexOf(" ")!=-1){
		   member_email_div.innerHTML="<font color='red'>Invalid email address</font>";
		    return false
		 }
 		return true					
	}

function sort_col(string) {
	var sortby=document.frm.sortby.value=string;
	go('sort_col');
}

function check_key(event) {
	if(event.keyCode==13) {
		//check all input fields for there correct values;
		var error=0;
		//validation for display records;
		var records=document.frm.DisplayRecords.value;
		if(IsNumeric(records)){ if(records<=0) error=1; }
		else error=2;
		//more validations here...
		
		if(!error) document.frm.submit_frm.value=true;
		else document.frm.submit_frm.value=false;
	}
}

function check_url(url) {
/*
     var theurl=url;
     var tomatch= /^(http(s?):\/\/)?((\w+\.)+)\w{2,4}(\/?)$/i;
     if (tomatch.test(theurl))
     {
         return true;
     }
     else
     {
         return false; 
     }
*/
	var RegexUrl = /^(http|https):\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/;
	//var RegexUrl = /^(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
  	return RegexUrl.test(url);        
}
function check_date() {
		var fdate=document.getElementById('calendar').value;
		var tdate=document.getElementById('calendar2').value;
		datearr1=fdate.split("-");
		datearr2=tdate.split("-");
		var sd=new Date;
		var fd=new Date;
		
		var yy1=datearr1[0];
		var mm1=datearr1[1];
		var dd1=datearr1[2];
		fdate=dd1+'-'+mm1+'-'+yy1;
	
		var yy2=datearr2[0];
		var mm2=datearr2[1];
		var dd2=datearr2[2];
		tdate=dd2+'-'+mm2+'-'+yy2;
		
		datearr1=fdate.split("-");
		datearr2=tdate.split("-");
		
		sd.setDate(datearr1[0]);
		sd.setMonth(datearr1[1]-1); // January = 0
		sd.setFullYear(datearr1[2]); 
		
		fd.setDate(datearr2[0]);
		fd.setMonth(datearr2[1]-1); // January = 0
		fd.setFul

		fd.setFullYear(datearr2[2]); 
		
		var today = new Date();
			if(sd > fd)
			{
			    alert("To date must be greater then from date");
			    return false;
			}else return true;
}
function special_char(string) {
  var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
  var special=0;
  var non_special=0;	
  for (var i = 0; i < string.length; i++) {
  	if (iChars.indexOf(string.charAt(i)) != -1)	special++;
	else non_special++;
  }
  if(special>=1) return false;
  else return true
 } 
 
function frontecheck(str,div_object) {

		var member_email_div=div_object;
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str))
			return true;
		else{
		  member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		return false;
		}
		return true;
/*
		var member_email_div=div_object;
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		    return false
		}
		if (str.indexOf(at,(lat+1))!=-1){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		    return false
		 }
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		    return false
		 }
		if (str.indexOf(dot,(lat+2))==-1){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		    return false
		 }
		if (str.indexOf(" ")!=-1){
		   member_email_div.innerHTML="<font  class='orange-color'>Invalid email address</font>";
		    return false
		 }
 		return true			
 		*/		
	}

/*
Added by Eamon 10/4/08 - generic pop-up function
*/
function winopen(file)
{
	window.open(file,'','width=600,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=no,menubar=no,location=no,directories=no');
}

/*
Added by Saurabh Goyal 11/4/08 - luhn check function
*/
function credit_card_validate(cardnumber,cardnumber_div){

var number = cardnumber;
var i, sum, weight;
sum=0;
for (i = 0; i < number.length - 1; i++) {
weight = number.substr(number.length - (i + 2), 1) * (2 - (i % 2));
sum += ((weight < 10) ? weight : (weight - 9));
}
var sub=parseInt(number.substr(number.length-1));
var sub1=((10 - sum % 10) % 10)
if(cardnumber==""){
	cardnumber_div.innerHTML="<font class='orange-color'>please enter card number</font>";
	error=1
	}
else if(isNaN(cardnumber)  || (cardnumber.length<10)){
      cardnumber_div.innerHTML="<font class='orange-color'>Invalid card number, Please enter valid card number</font>";
	  error=1
	  return false;
         }
else if (sub1 != sub){
	cardnumber_div.innerHTML="<font class='orange-color'>Invalid card number, Please enter valid card number</font>";
	error=1
	return false;
	}
else cardnumber_div.innerHTML="";
return true;
}

/*
Added by Saurabh Goyal 11/4/08 - luhn check function
*/
function credit_card_validate_admin(cardnumber,cardnumber_div){
var number = cardnumber;
var i, sum, weight;
sum=0;
for (i = 0; i < number.length - 1; i++) {
weight = number.substr(number.length - (i + 2), 1) * (2 - (i % 2));
sum += ((weight < 10) ? weight : (weight - 9));
}
var sub=parseInt(number.substr(number.length-1));
var sub1=((10 - sum % 10) % 10)
if(cardnumber==""){
	cardnumber_div.innerHTML="<font color='red'>please enter card number</font>";
	error=1
	}
else if(isNaN(cardnumber)  || (cardnumber.length<10)){
      cardnumber_div.innerHTML="<font color='red'>Invalid card number, Please enter valid card number</font>";
	  error=1
         }
else if (sub1 != sub){
	cardnumber_div.innerHTML="<font color='red'>Invalid card number, Please enter valid card number</font>";
	error=1
	}
else cardnumber_div.innerHTML="";
}