/*
 * Function to open login window
 * */

function openLoginWindow(url){
	try{
		var width = 625;
		var height = 365;
		 var left   = (screen.width  - width)/2;
 		 var top1    = (screen.height - height)/2;

		newPopUpWindow(url, 'login','no','no','no','no','no','no','yes','625','375',left,top1);

	}catch(e){}
}

/* 
 *   Function to pass Course values to action
 *
 */
 




/*
function to validate jsp's
*/

function getvalidate(){

//alert("in get validated function");
}

/*
* This function is used to validate all the mandatory fields of a screen
* validateMandatory("styleIdoffield1","nameoffield1",........)
*/
function validateMandatory()
{
    var chkFlag = true;
    var noofObjects = arguments.length;
    var err_head = "Please enter the information in the following required fields:\n";
    var num = 0;
    var err ="";
    var field =0;
    var error =""; 
    for(var i = 0; i < noofObjects; i=i+2)
    {
      if((arguments[i]!="undefined") && (arguments[i]!=""))
      {		
      	  if((arguments[i]!="addressReference") && (arguments[i]!="specialOffer") && (arguments[i]!="periodicNews"))
      	  {	
		      if(document.getElementById(arguments[i]).value=="" )
		      {
		      	  ++num;
                  if(num>10)
                  {
                  	err = err +  num + " -  " + arguments[i+1] + "\n";//field label
                  }
                  else
                  {
                  	err = err +  num + "   -  " + arguments[i+1] + "\n";//field label
                  }
                  chkFlag = false;
                  if (num == 1)//start inner if
                  {
                        field = arguments[i];
                  }
		      } 
      	  } 
      	  else
      	  {
  	  	      ++num;
  	  	      if(num>10)
              {
              	err = err +  num + " -  " + arguments[i+1] + "\n";//field label
              }
              else
              {
              	err = err +  num + "   -  " + arguments[i+1] + "\n";//field label
              }
              chkFlag = false;
              if (num == 1)//start inner if
              {
            	  field = arguments[i];
              }
      	  }    
      }        
    }
    if(!chkFlag)
    {
          error = err_head + err;
          alert(error);
          if((field!="addressReference") && (field!="specialOffer") && (field!="periodicNews"))
          {
          	 document.getElementById(field).focus();
          }
          if(field=="phoneNumber")
          {
          	 document.getElementById('phoneNumberFirst').focus();
          }
          
          
          
    }
    return chkFlag;
}

function validateMandatoryContact()
{
    var chkFlag = true;
    var noofObjects = arguments.length;
    var err_head = "Please enter the information in the following required fields:\n";
    var num = 0;
    var err ="";
    var field =0;
    var error =""; 
    for(var i = 0; i < noofObjects; i=i+2)
    {
      if((arguments[i]!="undefined") && (arguments[i]!=""))
      {		
      	  if((arguments[i]!="visitorCategory"))
      	  {	
		      if(document.getElementById(arguments[i]).value=="" )
		      {
		           ++num;
                  if(num>10)
                  {
                  	err = err +  num + " -  " + arguments[i+1] + "\n";//field label
                  }
                  else
                  {
                  	err = err +  num + "   -  " + arguments[i+1] + "\n";//field label
                  }
                  chkFlag = false;
                  if (num == 1)//start inner if
                  {
                        field = arguments[i];
                  }
		      } 
      	  } 
      	  else
      	  {
  	  	      ++num;
  	  	      if(num>10)
              {
              	err = err +  num + " -  " + arguments[i+1] + "\n";//field label
              }
              else
              {
              	err = err +  num + "   -  " + arguments[i+1] + "\n";//field label
              }
              chkFlag = false;
              if (num == 1)//start inner if
              {
            	  field = arguments[i];
              }
      	  }    
      }        
    }
    if(!chkFlag)
    {
          error = err_head + err;
          alert(error);
          if((field!="visitorCategory"))
          {
          	document.getElementById(field).focus();
          }
    }
    return chkFlag;
}

// Trim current field
function trimField(inputString)
{
    if(inputString == null)
    {
        return (false);
    }
    return inputString.replace(/(^\s+)|(\s+$)/g,"");
}

function trim(inputString)
{
   // Removes leading and trailing spaces from the passed string. Also
   // removes consecutive spaces and replaces it with one space.
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ")
   { 
   	  // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ")
   { 
   	  // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   return retValue; 
} 
	
function checkEmail(email,email2)
{ 
	if((!isValidateEmail(email))) 
	{ 
		if(email.value.toLowerCase() != email2.value.toLowerCase())
		{ 
			alert(contactus_error_notMatchEmail_MSS_008);
			document.getElementById("emailAddress").focus(); 
			return false; 
		} 
		else
		{ 
			return true; 
		} 
	} 
	else 
	{ 
		alert(contactus_invalidEmail_MSS_023);
		document.getElementById("emailAddress").focus(); 
		return false; 
	} 
}

function isDigit(num) 
{
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
}
	
function isInteger(val)
{
	for(var i=0;i<val.length;i++)
	{
		if(!isDigit(val.charAt(i))){return false;}
	}
	return true;
}
	
//Check the input string have only numbers.
function isValidateEmail(inputString)
{
// Updated by Rajesh on July 27, 2009
	var reChar = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if(!reChar.test(inputString.value))
	{
		 return true;
	}
	return false;
}

//Check the input string have a valid characters.
function isAlphanumericWithSomeSpecialChar(inputString)
{
	var reCharSpecial=/^[a-zA-Z0-9-,_#*@&%\s][a-zA-Z0-9-,_#*@&%\s]*$/
    if(!reCharSpecial.test(inputString))
	{
		 return true;
	}
	else
	{
		return false;
	}
}	


//Check the input string have a valid characters.
function isCharactersWithSomeSpecialChar(inputString)
{
	var reCharSpecial=/^[a-zA-Z-,\.\s][a-zA-Z-,\.\s]*$/
    if(!reCharSpecial.test(inputString.value))
	{
		 return true;
	}
	else
	{
		return false;
	}
	
}
//Check the input string have a valid characters.
function isCharNumWithSpecialChar(inputString)
{
	var reCharSpecial=/^[a-zA-Z0-9-,\.\s][a-zA-Z0-9-,\.\s]*$/
    if(!reCharSpecial.test(inputString.value))
	{
		 return true;
	}
	else
	{
		return false;
	}
	
}

//Check the input string have a valid characters.
function isSpecialCharClinic(inputString)
{
	var reCharSpecial=/^[a-zA-Z0-9-,&\.\s][a-zA-Z0-9-,&\.\s]*$/
    if(!reCharSpecial.test(inputString.value))
	{
		 return true;
	}
	else
	{
		return false;
	}
	
}
//Check the input string have a valid characters.
function isCharacter(inputString)
{
	var reChar=/^[a-zA-Z0-9\s][a-zA-Z0-9\s]*$/
    if(!reChar.test(inputString.value))
	{
		 return true;
	}
	else
	{
		return false;
	}
}

//Check the input string have a valid characters.
function isCityCharacter(inputString)
{
	var reCityChar=/^[a-zA-Z0-9\.\s][a-zA-Z0-9\.\s]*$/
    if(!reCityChar.test(inputString.value))
	{
		 return true;
	}
	else
	{
		return false;
	}
}

// Check the input string have a valid characters.
function isCharactersWithNumberAndSpecialChar(inputString)
{
	var reChar=/^[a-zA-Z0-9#,\-:()&\/\s][a-zA-Z0-9#,\-:()&\/\s]*$/
    if(!reChar.test(inputString.value))
	{
		 return true;
	}
	return false;
	
}
// Check the input string have a valid characters.
function isAddressWithNumberAndSpecialChar(inputString)
{
	var reChar=/^[a-zA-Z0-9#,\-:()&\/\s][a-zA-Z0-9#,\-:()&\/\s]*$/
	if(!reChar.test(inputString.value) && (inputString.value != ""))
		{
			return true;
		}
		return false;
}

// Check the input string have only numbers.
function isNumber(inputString)
{
	var reChar=/^[0-9][0-9]*$/
    if(!reChar.test(inputString.value))
	{
		 return true;
	}
	return false;
	
}

// Check the input string have only numbers.
function isValidatePhone(inputString)
{
	var reChar=/^[0-9]\d{2}-\d{3}-\d{4}$/
    if(!reChar.test(inputString.value))
	{
		 return true;
	}
	return false;
	
}

// Check the input string have only numbers.
function isAlphaNumeric(inputString)
{
	var reChar=/^[a-zA-Z0-9][a-zA-Z0-9]*$/
    if(!reChar.test(inputString.value))
	{
		 return true;
	}
	return false;
	
}

/*
 * Function : checkMaxLength
 * Purpose  : Method to check min length
 */
function isMinLength(obj,length)
{
	var minlength=length
	
	if (obj.value.length<minlength)
	{
	    return true;
	}
	
	return false;
 }
 
 function checkValidation()
{
	var flag=true;
	var keyword=document.getElementById('keyword');
	keyword.value=trimField(keyword.value);
	var keyValue = escape(keyword.value);
	if((keyword.value== " ") || (keyword.value == ''))
	{
		alert(searchResult_mandatoryMsg_MSS_001);
		keyword.focus();
		return false;
	}
	else
	{
		if(isAlphanumericWithSomeSpecialChar(keyword.value))
		{
			alert(researchInfo_alert_MSS_042);
			keyword.focus();
			return false;
		}
		else
		{
			document.searchForm.action="loadSearch.do?method=loadSearch&keyword="+keyValue;
			document.searchForm.submit();
		}
	}
}
function changeCountry(param)
{
	var objParent="";
	var objChildDest="";
	var objSource = "";
	if(param == 'USER')
	{
		objParent = document.getElementById("country");
		objChildDest = document.getElementById("state");
		objSource = document.getElementById("stateData");
	}	
	if(param == 'CONTACT')
	{
		objParent = document.getElementById("country");
		objChildDest = document.getElementById("state");
		objSource = document.getElementById("stateData");
		
	}
	if ((objParent.value == null)|| (objParent.value == ""))
	{
		removeOptions(objChildDest);
		var objOption=new Option(controls_state_default,"");
		objChildDest[objChildDest.length]=objOption;
		return;
	}
	else
	{
		
		generateSearchChildDropDownValues(objParent, objSource, objChildDest, 1);	
	}
	
}

var objSeperator="@@";
function generateSearchChildDropDownValues(ObjParentId, objChildSrc, objChildDest, subscript)
{
	removeOptions(objChildDest);
	var parentValue =ObjParentId.options[ObjParentId.selectedIndex].value;
    if(objChildSrc!=null && objChildDest!=null && objChildSrc.length>0)
    {
     

	var objOption;
        objOption=new Option("- Select your state -","");
		objChildDest[objChildDest.length]=objOption;
        for(ctr=0;ctr<objChildSrc.length;ctr++)
        {
			var objValue=objChildSrc.options[ctr].value
            var arrSrcList=objValue.split(objSeperator);
            var currentParentId=arrSrcList[subscript];
            if(currentParentId==parentValue)
            {
		        objOption=new Option(objChildSrc.options[ctr].text,arrSrcList[0]);
                objChildDest[objChildDest.length]=objOption;
            }
        }
    }
   
}

function removeOptions(objList)
{
    if(objList!=null && objList.type=="select-one" && objList.length>0)
    {
        var len=objList.length;
        for(ctr=0;ctr<len;ctr++)
        {
            objList.remove(0);
        }
    }
}

/* popup window code*/
var windowVar;
function newPopUpWindow(file, windows,toolBarObj,locationObj,directoriesObj,statusObj,menuBarObj,scrollbarsObj,resizableObj,widthObj,heightObj,topObj,leftObj)
{	
	
	var optionVar="toolbar="+toolBarObj+",location="+locationObj+",directories="+directoriesObj+",status="+statusObj+",menuBar="+menuBarObj+",scrollbars="+scrollbarsObj+",resizable="+resizableObj+",width="+widthObj+",height="+heightObj+",top="+topObj+",left="+leftObj+"";

	windowVar = window.open(file,windows, optionVar);
	window.onfocus=checkOpenWindow;
	window.onbeforeunload = closeOpenWindow;
}

function checkOpenWindow()
{
		
	if(windowVar!=undefined && !windowVar.closed)
	{		

		windowVar.focus();
		return false;
	}
	
}
function closeOpenWindow()
{

	if(windowVar!=undefined && !windowVar.closed)
	{	

		windowVar.close();
	}
}
disableRightClick();
/**
 * This function disable the right click of the mouse in the screen.
 */
function disableRightClick(e)
{
     //If right click button clicked
	if(!document.rightClickDisabled)
    {
      //  If layers is used in the screen
		if(document.layers)
        {
            document.captureEvents(Event.MOUSEDOWN);
            document.onmousedown = disableRightClick;
        }
        else 
        {
        	document.oncontextmenu = disableRightClick;
        }
        return document.rightClickDisabled = true;
    }
 
     //If any other key button clicked along with right click 
	if(document.layers || (document.getElementById && !document.all))
    {
    //     If any other key button clicked along with right click
		if (e.which==2||e.which==3)
        {
            return false;
        }
    }
    else
    {
       return false;
    }
}
//This function is used to jump focus automatically from one field to another
function jumpingFocus(field,nextField,len)
{
	if(field.value.length >= len)
	nextField.focus();
}

// This function is used to move the Tab forward and backward

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
     function autoTab(input,len, e) {
        var keyCode = (isNN) ? e.which : e.keyCode;
        var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
         if(input.value.length >= len && !containsElement(filter,keyCode)) {
           input.value = input.value.slice(0, len);
           input.form[(getIndex(input)+1) % input.form.length].focus();
     }
          function containsElement(arr, ele) {
               var found = false, index = 0;
            while(!found && index < arr.length)
              if(arr[index] == ele)
                 found = true;
                  else
                 index++;
               return found;
                }
          function getIndex(input) {
               var index = -1, i = 0, found = false;
                while (i < input.form.length && index == -1)
                        if (input.form[i] == input)index = i;
                          else i++;
                         return index;
                 }
          return true;
      }

// Added by Sanjoy on 27-Aug-2009 for RFF-03. Starts
// This function is used to check if the entered date is a valid one or not.

function checkValidDate(mm,dd,yy){
 var daysInMonth = DaysArray(12)
	//var pos1=dtStr.indexOf(dtCh)
	//var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=mm;
	var strDay=dd;
	var strYear=yy;
	var strYr=strYear;
	
	if(strMonth == "09")
		strMonth ="9";
	else if(strMonth == "08")
		strMonth ="8";
		
	if(strDay == "09")
		strDay ="9";
	else if(strDay == "08")
		strDay ="8";
	
	var month=parseInt(strMonth);
	var day=parseInt(strDay);
	var year=parseInt(strYr);

	
	if(month >=1 && month <=12)
	{
		if ( day > daysInMonth[month] || day == null || day == 0 ){
			return "dayFlag";
		} 
		if (month==2 && day>daysInFebruary(year)) {
			return "dayFlag";
		}
			
	}
	else
	{
		return "monthFlag";  
	}
	/*if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}*/
  return "";
}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}
// Added by Sanjoy on 27-Aug-2009 for RFF-03. Ends

 
