//Function to check Multiple checkbox on single click.
// Method of calling onClick = "Javascript:checkAll(document.from.fieldName, this.checked );" 
//Function to show error Message on the Span WHen validation error occur.
function errMsg( divID , value , msg ,className )
{
    if( trim ( value )  == '' || trim( value ) == 0)
    {
        $(divID).innerHTML = msg; 
    }
    else
    {
        $(divID).innerHTML = '';
    }
}

//function change class will change the classs of the input box

//Function to show error Message on the Span WHen validation error occur.
function changeClass( eleID , spanID,  value , msg )
{
    var app          =    navigator.appName;
    var IE           =  'Microsoft Internet Explorer';
    var FF           =  'Netscape';
    if( trim ( value )  == '' || trim( value ) == 0)
    {
        if( app == FF )
            $(eleID).setAttribute('class','inputbox-error');
        else if( app == IE )
            $(eleID).setAttribute('className','inputbox-error');
        else
            $(spanID).innerHTML = msg; 
    }
    else
    {
        if( app == FF )
            $(eleID).setAttribute('class','inputbox');
        else if( app == IE )
            $(eleID).setAttribute('className','inputbox');
        else
            $(spanID).innerHTML = '';
    }
}


function validateCombo( divID, comboID , msg )
{
    var combo    =     $(comboID);
    if( combo.selectedIndex == 0 || combo.selectedIndex == -1 )
    {
        $(divID).innerHTML = msg;
    }
    else
    {
        $(divID).innerHTML = '';
    }
}

//Function to trim the space in the left side of the string
function ltrim ( s )
{
    return s.replace( /^\s*/, "" );
}

//Function to trim the space in the right side of the string
function rtrim ( s )
{
    return s.replace( /\s*$/, "" );
}

//Function to trim the space in the  string
function trim(s)
{
    var temp = s;
       return temp.replace(/^\s+/,'').replace(/\s+$/,'');
}

// Function to change the focus of the textbox when it reach to its maxlength.
function changefocus( original, destination )
{
    if (original.getAttribute && original.value.length==original.getAttribute("maxlength"))
        destination.focus();
}

//Function to test string passed as argument is integer or not
function isInteger(s)
{
    var i;
    for (i = 0; i < s.length; i++)
    {
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}


function validateEmail(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    if(email.length <= 0)
    {
      return true;
    }
    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;
      }// if
      return true;
    }
return false;
}



/////////////////////////////////////////////////////////////////////////////


function validateLogin ( ) 
{    
    var loginID      =    $('chk_loginID').value;
    var pass1        =    $('chk_password').value;
    var flag         =    1;
    var app          =    navigator.appName;
    var IE           =  'Microsoft Internet Explorer';
    var FF           =  'Netscape';
    if( trim(loginID) == '' )
    {
        if( app == FF )
            $('chk_loginID').setAttribute('class','inputbox-error');
        else if( app == IE )
            $('chk_loginID').setAttribute('className','inputbox-error');
        else
            $('chk_loginErr').innerHTML = '( loginID required )';
        flag = 0 ;
    }
    if( trim (pass1) == '' )
    {
        if( app == FF )
            $('chk_password').setAttribute('class','inputbox-error');
        else if ( app == IE )
            $('chk_password').setAttribute('className','inputbox-error');
        else
            $('chk_passErr').innerHTML   = '( Password required! )';
        flag = 0 ;
    }
   
    if( flag == 1 )
        return true;
    else 
        return false;
} 

function validateCategory()
{
      var category      =    $('category').value;
      if( trim(category) == '' )
      {
        $('catErr').innerHTML    = '( Category required! )';
        return false;
      }
      return true;
}

function changePassword()
{
    var oldPass  =     $('oldPassword').value;
    var newPass  =     $('newPassword').value;
    var confPass =     $('confPassword').value;
    var flag     =     true;
    var app      =     navigator.appName;
    var IE       =    'Microsoft Internet Explorer';
    var FF       =    'Netscape';
    
    if( trim( oldPass ) == '' )
    {
        if( app == FF )
            $('oldPassword').setAttribute('class','inputbox-error');
        else if ( app == IE )
            $('oldPassword').setAttribute('className','inputbox-error');
        else
            $('oldErr').innerHTML = '( Current password required ! )';
        flag  = false;
    }
    if( trim( newPass ) == '' )
    {
        if( app == FF )
            $('newPassword').setAttribute('class','inputbox-error');
        else if ( app == IE )
            $('newPassword').setAttribute('className','inputbox-error');
        else
            $('newErr').innerHTML = '( New password required ! )';
        flag  = false;
    }
    if( trim( confPass ) == '' )
    {
        if( app == FF )
            $('confPassword').setAttribute('class','inputbox-error');
        else if ( app == IE )
            $('confPassword').setAttribute('className','inputbox-error');
        else
            $('confErr').innerHTML = '( Confirm password required ! )';
        flag  = false;
    }
    if( trim( newPass ) !=  trim( confPass ) )
    {
        if( app == FF )
            $('confPassword').setAttribute('class','inputbox-error');
        else if ( app == IE )
            $('confPassword').setAttribute('className','inputbox-error');
        else
            $('confErr').innerHTML = '( Confirm password doesnot match ! )';
        flag  = false;
    }
    if( flag )
    {
        return true;
    }
    else
    {
        return false;
    }
}

function phone_counter( URL, phoneNo, phoneExt )
{
     var phExt  = '';
     if( phoneExt != '' )
     {
        phExt = '( '+ phoneExt +' )';
     }
     phoneNo  =   phoneNo + phExt;
     if( phoneNo == '' )
     {
        phoneNo = 'N.A';
     }
     $('phone').innerHTML = phoneNo;
     
     var myAjax = new Ajax.Request( URL, { method: 'get', onLoading: load, onComplete: response } );
}

function load()
{

}

function response (originalRequest) {
    var    resp    =    originalRequest.responseText;
}
function tabResponse (originalRequest) 
{
	var	URL		=	trim(originalRequest.responseText);
	if( URL != '' )
	{
		window.open( URL );
	}
}

function checkAll2(formOBJ, val){
	for(var i=0; i<formOBJ.elements.length;i++){
		if(formOBJ.elements[i].type=='checkbox'){
			formOBJ.elements[i].checked = val;
		}
	}
}

function permissionAll(val){
	document.getElementById('can_add').checked			= val;
	document.getElementById('can_edit').checked			= val;
	document.getElementById('can_delete').checked		= val;
	document.getElementById('can_read').checked			= val;
	document.getElementById('all_permission').checked	= val;
}

function permissionAll2(){
	if(document.getElementById('can_add').checked && document.getElementById('can_edit').checked && document.getElementById('can_delete').checked && document.getElementById('can_read').checked ){
		document.getElementById('all_permission').checked	= true;
	}else{
		document.getElementById('all_permission').checked	= false;
	}
}


function want_to_Delete(formOBJ){
	var a;
	a=confirm("Are you sure?. You want to delete selected record(s).");
	//alert(a);
	if(a==true){
	//	formOBJ.submit();
		return true;
	}else{
		return false;
	}
}
function checkMail(s){
	var x = s;
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}

function isAlpha(s){
			var myRe;
			var myArr;
			myRe = new RegExp("\[^a-zA-Z ]");
			myArr=myRe.test(s);
			return myArr;
}

function isAlphaNumeric(s){
		var myRe;
		var myArr;
		myRe = new RegExp("\[^a-zA-Z0-9_.]");
		myArr=myRe.test(s);
		return myArr;
}

function isNumber(s){
		var myRe;
		var myArr;
		myRe = new RegExp("\[^0-9]");
		myArr=myRe.test(s);
		return myArr;
}

function isPrice(priceValue){
	return priceValue.match(/^\d+$|^\d+\.\d{2}$/ );
}

function validatePwd(fieldvalue) {
	var errorMsg	= "";
	var space		= " ";
	fieldlength		= fieldvalue.length;

	//It must not contain a space
	if (fieldvalue.indexOf(space) > -1) {
		 errorMsg += "\nPasswords cannot include a space.\n";
	}
	//It must contain at least one number character
	if (!(fieldvalue.match(/\d/))) {
		 errorMsg += "\nStrong passwords must include at least one number.\n";
	}

	//It must start with at least one letter     
	if (!(fieldvalue.match(/^[a-zA-Z]+/))) {
//		 errorMsg += "\nStrong passwords must start with at least one letter.\n";
	}

	//It must contain at least one upper case character     
	if (!(fieldvalue.match(/[A-Z]/))) {
//		 errorMsg += "\nStrong passwords must include at least one uppercase letter.\n";
	}

	//It must contain at least one lower case character
	if (!(fieldvalue.match(/[a-z]/))) {
		 errorMsg += "\nStrong passwords must include one or more lowercase letters.\n";
	}

	//It must contain at least one special character
	if (!(fieldvalue.match(/\W+/))) {
		 errorMsg += "\nStrong passwords must include at least one special character - ,@,%,!\n";
	}

	//It must be at least 6 characters long.
	if (!(fieldlength >= 6)) {
		 errorMsg += "\nStrong passwords must be at least 6 characters long.\n";
	}

return errorMsg;
}

function validateUserInfo(formObj){  
	var error="";
	
	if(formObj.user_type_id.value == '0'){
		error+="\nUser Type";
	}

	if(formObj.date_of_joining.value == '0000-00-00 00:00:00' || formObj.date_of_joining.value == ''){
		error+="\nDate Of Joining";
	}


/*	if(formObj.username.value==""){
		error +="\nUser Name";
	}
	if(formObj.first_name.value==""){
		error +="\nFirst Name";
	}

	if(formObj.username.value!="")
	{		
		myArr=isAlphaNumeric(formObj.username.value)
		if(myArr)
		{
			error+="\nInvalid Username\nOnly(a-z A-Z 0-9_.) Allowed";
		}			
	}

	if(formObj.username.value!=""){
		if(formObj.username.value.length<6){
			error += "\nUsername should be at least of 6 characters";
		}
	}
*/
	if(formObj.password.value=="")
	{
		error+="\nPassword";
	}

	
/*
	if(formObj.username.value!="" && formObj.password.value!="")
	{
		val_1	= formObj.username.value;	
		val_2	= formObj.password.value;
		if(val_1==val_2)
		{
			error+="\nUsername and Password should be different.";
		}	
	}

*/
	if(formObj.re_password.value=="")
	{
		error+="\nRe-enter Password";
	}

	if(formObj.password.value!=formObj.re_password.value)
	{
			error+="\nPassword and Re_enter Password should be same";
	}
	
	if(formObj.password.value!=""){
		var pwdError = validatePwd(formObj.password.value);
		if(pwdError!=""){
		error += pwdError;
		}
	}

//	if(formObj.email.value==""){
//		error +="\nE-Mail";
//	}
//	if(formObj.division_id.value==""){
//		error +="\nDivision";
//	}
//	if(formObj.office_location.value==""){
//		error +="\nLocation";
//	}

//	if(formObj.email.value!=""){
//		myArr = checkMail(formObj.email.value)
//		if(!myArr){
//			error+="\nInvalid Email ";  
//		}
//	}

	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}
function checkAvailability(location,username)
{		
	if(username!=""){
	jQuery("#div_availability").get(0).innerHTML = '<span style="font-size:12; font-weight: bold;">Checking...';
		jQuery.ajax(
		{
			type: "GET",
			url: location+'?username='+username,
			cache:true,
			data: "",
			success: function(responseText){
				 jQuery("#div_availability").get(0).innerHTML = responseText;
				}
			}
		);
	}else{
		alert("username can not be Blank...");
	}
}
function passwordChanged() {
	var strength = document.getElementById('strength');
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = document.getElementById("password");
	if (pwd.value.length==0) {
	strength.innerHTML = 'Type Password';
	} else if (false == enoughRegex.test(pwd.value)) {
	strength.innerHTML = 'More Characters';
	} else if (strongRegex.test(pwd.value)) {
	strength.innerHTML = '<span style="color:green">Strong!</span>';
	} else if (mediumRegex.test(pwd.value)) {
	strength.innerHTML = '<span style="color:orange">Medium!</span>';
	} else {
	strength.innerHTML = '<span style="color:red">Weak!</span>';
	}
}

function validateLogin(formObj){
	var error="";
	if(formObj.username.value==""){
		error +="\nUsername";
	}
	if(formObj.password.value==""){
		error +="\nPassword";
	}
	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}


function validateChangePassword(formObj){  
	var error="";
	
	if(formObj.old_pass.value==""){
		error +="\nOld Password";
	}
	if(formObj.new_pass.value==""){
		error +="\nNew Password";
	}

	if(formObj.confirm_new_pass.value==""){
		error +="\nConfirm Password";
	}
	
	if(formObj.new_pass.value!=""){
		var pwdError = validatePwd(formObj.new_pass.value);
		if(pwdError!=""){
		error += pwdError;
		}
	}

	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}


function validateForgotPassword(formObj){  
	var error="";
	
	if(formObj.username.value==""){
		error +="\nUser Name";
	}
	if(formObj.email.value==""){
		error +="\nEmail";
	}
	if(formObj.email.value!=""){
		myArr = checkMail(formObj.email.value)
		if(!myArr){
			error+="\nInvalid Email ";  
		}
	}
	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}

function validateCVB(formObj){  
	var error="";
	
	if(formObj.value_id.value=="0"){
		error +="\nPlease Choose Value";
	}
	if(formObj.behaviour.value==""){
		error +="\nEnter Behaviour";
	}
	
	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}

function generate_behaviour_combo(location,id)
{
	var vid = document.getElementById('value_id').value;
	if(id!=""){
		jQuery("#div_behaviour").get(0).innerHTML = '<select class="norm" id="behaviour_id" style="width:200px;"><option value="0">Loading...</option></select>';
		jQuery.ajax(
		{
			type: "GET",
			url: location+'?id='+id+'&vid='+vid,
			cache:true,
			data: "",
			success: function(responseText){
				 jQuery("#div_behaviour").get(0).innerHTML = responseText;
				}
			}
		);
	}
}

function set_behaviour_combo(location,vid, bid)
{
	var vid = document.getElementById('value_id').value;
	if(bid!=""){
		jQuery("#div_behaviour").get(0).innerHTML = '<select class="norm" id="behaviour_id" style="width:200px;"><option value="0">Loading...</option></select>';
		jQuery.ajax(
		{
			type: "GET",
			url: location+'?bid='+bid+'&vid='+vid,
			cache:true,
			data: "",
			success: function(responseText){
				 jQuery("#div_behaviour").get(0).innerHTML = responseText;
				}
			}
		);
	}
}

function generate_location_combo(location,id)
{
	var did = document.getElementById('division_id').value;
	if(id!=""){
		jQuery("#div_location").get(0).innerHTML = '<select class="norm" id="office_location" style="width:200px;"><option value="0">Loading...</option></select>';
		jQuery.ajax(
		{
			type: "GET",
			url: location+'?id='+id+'&did='+did,
			cache:true,
			data: "",
			success: function(responseText){
				 jQuery("#div_location").get(0).innerHTML = responseText;
				}
			}
		);
	}
}


function set_location_combo(location,did, lid)
{
	var did = document.getElementById('division_id').value;
	if(lid!=""){
		jQuery("#div_location").get(0).innerHTML = '<select class="norm" id="office_location" style="width:200px;"><option value="0">Loading...</option></select>';
		jQuery.ajax(
		{
			type: "GET",
			url: location+'?lid='+lid+'&did='+did,
			cache:true,
			data: "",
			success: function(responseText){
				 jQuery("#div_location").get(0).innerHTML = responseText;
				}
			}
		);
	}
}


function validateCaseletslist(formObj){
	var error="";
/*	if(formObj.value_id.value=="" || formObj.value_id.value=="0"){
		error +="\nValue";
	}
	if(formObj.behaviour_id.value=="" || formObj.behaviour_id.value=="0"){
		error +="\nBehaviour";
	}
	*/
	if(formObj.casel_title.value==""){
		error +="\nCaselets Title";
	}
	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}


function validateValueChamp(formObj){
	var error="";
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regNumeric = /^([0-9]+)$/;
	if(formObj.value_id.value=="" || formObj.value_id.value=="0"){
		error +="\nValue";
	}
	if(formObj.division_id.value=="" || formObj.division_id.value=="0"){
		error +="\nDivision";
	}
	if(formObj.office_location.value=="" ){
		error +="\nOffice Location";
	}
	if(formObj.value_champ_name.value==""){
		error +="\nValue Champ Name";
	}
	
	if(formObj.value_champ_email.value !=""){
		if(!regEmail.test(formObj.value_champ_email.value)){
		error +="\nValue Champ email is not valid";
		}
	}
	
	if(formObj.value_champ_phone.value !=""){
		if(!regNumeric.test(formObj.value_champ_phone.value)){
		error +="\nValue Champ phone is not valid";
		}
	}
	
	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}

function validateVCApplication(formObj){
	var error	= "";
	if(formObj.applicant_name.value=="" ){
		error +="\nApplicant Name";
	}
	if(formObj.employee_number.value=="" ){
		error +="\nEmployee Number";
	}
	if(formObj.years_with_organisation.value=="" ){
		error +="\nYears with the Organisation";
	}

	if(formObj.designation.value=="" ){
		error +="\nDesignation";
	}

	if(formObj.business_unit.value=="" ){
		error +="\nBusiness Unit and Location ";
	}
	if(formObj.immediate_superior.value=="" ){
		error +="\nName of the Immediate Superior";
	}

	if(error!=""){
		alert("Following error  occured "+error);
		return false;
	}
	return true;
}


function validateEventlist(formObj){
	var error="";

	if(formObj.event_owner.value==""){
		error +="\nEvent Owner";
	}
	if(formObj.event_title.value==""){
		error +="\nEvent Title";
	}
	if(formObj.event_date.value==""){
		error +="\nEvent Date";
	}
	if(error!=""){
		alert("Following error has occured "+error);
		return false;
	}
	return true;
}

function validateSuggestForm(formObj){
	var error = "";

	if(formObj.sugg_name.value==""){
		error +="\nName";
	}
	if(formObj.sugg_event_name.value==""){
		error +="\nEvent Name";
	}
	if(formObj.sugg_company.value==""){
		error +="\nOrganization/Company";
	}
	if(error!=""){
		alert("Following error has occured "+error);
		return false;
	}
	return true;
}

function validateInspSuggestForm(formObj){
	var error = "";

	if(formObj.sugg_name.value==""){
		error +="\nName";
	}
	if(formObj.sugg_title.value==""){
		error +="\nTitle";
	}
	
	if(error!=""){
		alert("Following error has occured "+error);
		return false;
	}
	return true;
}

