//Reset the Text on focus.
function resetText(obj, text)
{
	if (obj.value == text)
	obj.value= '';
}

// Set the Text on Blur
function setText(obj, text)
{
	if (trim(obj.value) == '')
	obj.value = text;
}

//Trim the Specified String
function trim(str)
{
	str = str.replace(/^\s*|\s*$/g,'');
	return str;
}
//Funciton to open Popup windows
function openPopUp(url, windowName, w, h, scrollbar) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scrollbar+',resizable=1';
	win = window.open(url, windowName, winprops);
	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}
//Function to show the div as popup
function showPopupDiv(divId, formName)
{
  this.obj = null;
  this.elmntId = divId;
  this.form = document.forms[formName];
  this.active = false;
  this.width = 0;
  this.height = 0;
  this.cursorDistance = 5;
  this.closable = true;
  
  this.create = function() {
    if(!this.obj) this.init();
    if(DOM) this.height = this.obj.offsetHeight;
    else if(IE) this.height = this.obj.style.pixelHeight;
    if(DOM) this.width = this.obj.offsetWidth;
    else if(IE) this.width = this.obj.style.pixelWidth;
    this.move();
    this.show();
  }
  
  this.init = function() {
    this.obj = document.getElementById(this.elmntId);
  }

  this.move = function() {
    var winX = getWinX() - (((GK && !SA) || OP) ? 17 : 0);
    var winY = getWinY() - (((GK && !SA) || OP) ? 17 : 0);
    
  	x= (winX - this.width) / 2 + getScrX();
  	y = (winY - this.height) / 2 + getScrY();

    this.obj.style.left = x + 'px';
    this.obj.style.top = y + 'px';
  }
  
  this.show = function() {
    this.obj.style.zIndex = 69;
    this.active = true;
    this.obj.style.visibility = 'visible';
  }
  
  this.hide = function() {
  	if(!this.closable){
  		return false;
  	}
  	this.form.reset();
    this.obj.style.zIndex = -1;
    this.active = false;
    this.obj.style.visibility = 'hidden';
    return true;
  }
}


//Function to reset values and clear error messages
function resetValues(formName)
{  	
	var x;
	formName.reset();
	var errSpan = document.getElementsByTagName("span");   
	for(x=0;x<errSpan.length;x++){
		if(! errSpan[x].id) continue;
		if(errSpan[x].id.indexOf("Err")>0){
		   if(errSpan[x].innerHTML)
			errSpan[x].innerHTML= "";
		}
	}
}

// Function to Check all the Checkbox's present before the records listed
function checkFunc(CheckBoxControl)
{	  
	var a = 0;
	for (i=0; i<document.listView.elements.length; i++) {
		if (document.listView.elements[i].type == "checkbox" && document.listView.elements[i].id.indexOf('chkOffer') < 0) {
			document.listView.elements[i].checked=CheckBoxControl.checked;
			a = a + 1;
		}
	}
	if (CheckBoxControl.checked == true) {
		a = a - 1;
	} else {
		a = 0;
	}
	
	document.getElementById("selectCount").innerHTML = a;		
	if(document.getElementById("selectCount1")) {
		document.getElementById("selectCount1").innerHTML = a;
	}
}	

// Function to generate the selected Checkbox's Count	
function select_count()
{
	var a = 0;
	for (i=0; i<document.listView.elements.length; i++) {
		if (document.listView.elements[i].type == "checkbox") {
			if (document.listView.elements[i].checked == true && document.listView.elements[i].id.indexOf('chkOffer') < 0)
				a = a + 1;
		}
	}
	if (document.listView.checkAll.checked == true)	{
		a = a-1;
	}
	document.getElementById("selectCount").innerHTML = a;
	if(document.getElementById("selectCount1")) {
		document.getElementById("selectCount1").innerHTML = a;
	}
	document.listView.checkAll.checked = false;			
}

// Function to Clear all the Checkbox selected
function clearfunc()
{
	for (i=0; i<document.listView.elements.length; i++) {
		if (document.listView.elements[i].type == "checkbox") {
			document.listView.elements[i].checked = false;
		}
	}
	document.getElementById("selectCount").innerHTML = 0;
	document.getElementById("selectCount1").innerHTML = 0;
}

// Function to confirm action
function confirmAction(msg1, msg2, href) {
	var answer = confirm(msg1)
	if (answer) window.location = href;
	else alert(msg2);
}

// Function to confirm before delete
function isActionValid(action)
{
	var msg1 = "Are you sure to "+action+" ? ";
	
	var isValid = window.confirm(msg1);
		
	return isValid;
}

// Function to validate the form before delete operation executes
function formValidator(frmName, actn)
{	
	var a=0;	
	for(i=0; i<document.listView.elements.length; i++)
	{
		if(document.listView.elements[i].type=="checkbox"  && document.listView.elements[i].name != "checkAll")
		 {
		 	if(document.listView.elements[i].id.indexOf('chkOffer') >= 0)
		 		continue;
			if (document.listView.elements[i].checked == true)
			a = a + 1;
		 }
	}	

	if (a < 1) {
		var msg = 'record';
		alert("Select at least one " + msg +" to "+actn);
		return false;
	}
	else if (actn == "delete")
	{		  
			var z = window.confirm("Are you sure to "+actn+" "+a+" record(s) ?");
    
			return z;
	}
	return true;
}

function validateCheckbox(frmName,action)
{
	var a=0;		
	if(frmName!='') {
		for(i=0; i<frmName.elements.length; i++) {
			if(frmName.elements[i].type=="checkbox"  && frmName.elements[i].name != "checkAll"){			    
				if (frmName.elements[i].checked == true)
				a = a + 1;
			}			
		}		
		if(a < 1)  {
			alert("Select at least one record to "+action);
			return false;
		}
		else {
			var z = window.confirm("Are you sure to "+action+" "+a+" record(s) ?");
			return z;
		}
		return true;
	}
}

/* Validation for Quick Register Form - Starts Here */
function isEmpty(s) {return ((s == null) || (s.length == 0)); }
var whitespace = " \t\n\r";
function isWhitespace (s) {
  var i;
  if (isEmpty(s)) return true;
  for (i = 0; i < s.length; i++) {
    var c = s.charAt(i);
    if (whitespace.indexOf(c) == -1) return false;
  }
  return true;
}
var numb = "0123456789";
var lwr  = "abcdefghijklmnopqrstuvwxyz";
var upr  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var phspl  = "-()+ ";
var spc  = " ";
var addressspc  = ",'";
var eml  = "-@_.";
var dot  = ".";

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 doesExist (s) { return ( ! isEmpty(s) && ! isWhitespace (s) ); }
var iEmail = "Invalid Email ID.";
function isEmail (parm) {
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\_\-\.]+\.([a-zA-Z\-]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if ((!reg1.test(parm) && reg2.test(parm) && isValid(parm,lwr+upr+numb+eml)) || (isEmpty(parm))){ // if syntax is valid 
     return ( true ); 
  } else { 
     return ( false ); 
  } 
 }
 
function isPhoneNumber(parm) {
  var reg2 = /^\+?[0-9/\s]+$/; // valid
  if ((reg2.test(parm)) || (isEmpty(parm))){ // if syntax is valid 
     return ( true ); 
  } else { 
     return ( false ); 
  } 
 }
 function validateRegisterForm() {
  var form = document.register;
  var dtDifRegExp = (/-|\/|\./);
  var dtDifRepVal = "/";
  var rgExp1 = /<\S[^><]*>/g;  var rgExp2 = /\&(.*)\;/i;  var rgExp3 = /^\s*|\s*$/g; 
if ( form.userFirstName ) {
    if (  (form.userFirstName.disabled == false) && ( trim(form.userFirstName.value) == 'First Name') ) {
      document.getElementById('userFirstNameErr').innerHTML = "Missing: First Name";
      if(form.userFirstName.type) form.userFirstName.focus();
      return ( false );
    }
    else{
      document.getElementById('userFirstNameErr').innerHTML = "";
    }
  }
  
  if ( form.userFirstName ) {
var strVal = form.userFirstName.value.replace(rgExp1, '');
strVal = strVal.replace(/\n/g,'');
strVal = strVal.replace(rgExp3, '');
strVal = strVal.replace(rgExp2, '');
    if (  (form.userFirstName.disabled == false) && (! doesExist ( strVal )) ) {
      document.getElementById('userFirstNameErr').innerHTML = "Missing: First Name";
      if(form.userFirstName.type) { 
        if(form.userFirstName.style.display != 'none') form.userFirstName.focus();
      }
      return ( false );
    }
    else{
      document.getElementById('userFirstNameErr').innerHTML = "";
    }
  }
if ( form.userLastName ) {
    if (  (form.userLastName.disabled == false) && ( trim(form.userLastName.value) == 'Last Name') ) {
      document.getElementById('userLastNameErr').innerHTML = "Missing: Last Name";
      if(form.userLastName.type) form.userLastName.focus();
      return ( false );
    }
    else{
      document.getElementById('userLastNameErr').innerHTML = "";
    }
  }
  
  if ( form.userLastName ) {
	var strVal = form.userLastName.value.replace(rgExp1, '');
	strVal = strVal.replace(/\n/g,'');
	strVal = strVal.replace(rgExp3, '');
	strVal = strVal.replace(rgExp2, '');
    if (  (form.userFirstName.disabled == false) && (! doesExist ( strVal )) ) {
      document.getElementById('userLastNameErr').innerHTML = "Missing: Last Name";
      if(form.userLastName.type) { 
        if(form.userLastName.style.display != 'none') form.userLastName.focus();
      }
      return ( false );
    }
    else{
      document.getElementById('userLastNameErr').innerHTML = "";
    }
  }
  
  /*Zsolti begin*/
  /*if ( form.userMobile ) {
	if (  (form.userMobile.disabled == false) && ( trim(form.userMobile.value) == 'Mobile') ) {
      document.getElementById('userMobileErr').innerHTML = "Missing: Mobile";
      if(form.userMobile.type) form.userMobile.focus();
      return ( false );
    }
    else{
      document.getElementById('userMobileErr').innerHTML = "";
    }
  }
  
  if ( form.userMobile ) {
	var strVal = form.userMobile.value.replace(rgExp1, '');
	strVal = strVal.replace(/\n/g,'');
	strVal = strVal.replace(rgExp3, '');
	strVal = strVal.replace(rgExp2, '');
    if (  (form.userMobile.disabled == false) && (! doesExist ( strVal )) ) {
      document.getElementById('userMobileErr').innerHTML = "Missing: Mobile";
      if(form.userMobile.type) { 
        if(form.userMobile.style.display != 'none') form.userMobile.focus();
      }
      return ( false );
    }
    else{
      document.getElementById('userMobileErr').innerHTML = "";
    }
  }*/
  
  if ( form.userMobile ) {
    if ( ! isPhoneNumber ( form.userMobile.value ) && ( trim(form.userMobile.value) != 'Mobile') ) {
      document.getElementById('userMobileErr').innerHTML = "Invalid";
      form.userMobile.focus();
      return ( false );
    }
    else{
      document.getElementById('userMobileErr').innerHTML = "";
    }
  }
  
  if ( form.userDayTime ) {
    if ( ! isPhoneNumber ( form.userDayTime.value ) && ( trim(form.userDayTime.value) != 'Daytime Number') ) {
      document.getElementById('userDayTimeErr').innerHTML = "Invalid";
	  form.userDayTime.focus();
      return ( false );
    }
    else{
      document.getElementById('userDayTimeErr').innerHTML = "";
    }
  }
  /*Zsolti end*/
  
  if ( form.userEmail ) {
    if (  (form.userEmail.disabled == false) && ( trim(form.userEmail.value) == 'Email') ) {
      document.getElementById('userEmailErr').innerHTML = "Missing: Email";
      if(form.userEmail.type) form.userEmail.focus();
      return ( false );
    }
    else{
      document.getElementById('userEmailErr').innerHTML = "";
    }
  }
  if ( form.userEmail ) {
var strVal = form.userEmail.value.replace(rgExp1, '');
strVal = strVal.replace(/\n/g,'');
strVal = strVal.replace(rgExp3, '');
strVal = strVal.replace(rgExp2, '');
    if (  (form.userEmail.disabled == false) && (! doesExist ( strVal )) ) {
      document.getElementById('userEmailErr').innerHTML = "Missing: Email";
      if(form.userEmail.type) { 
        if(form.userEmail.style.display != 'none') form.userEmail.focus();
      }
      return ( false );
    }
    else{
      document.getElementById('userEmailErr').innerHTML = "";
    }
  }
  if ( form.userEmail ) {
    if ( ! isEmail ( form.userEmail.value ) ) {
      document.getElementById('userEmailErr').innerHTML = "Enter Valid Email";
      form.userEmail.focus();
      return ( false );
    }
    else{
      document.getElementById('userEmailErr').innerHTML = "";
    }
  }
  return ( true );
}
function validateRegisterFormOnSubmit() {
  var form = document.register;
  var ok = validateRegisterForm();
  if ( ok ) form.submit;
  return ( ok );
}
/* Validation for Quick Register Form - Ends Here */
