_ERROR_COLOR_ = '#86b262';
_SELECT_CRITERIA_ = 'You have not selected any criteria.';
var dateseperator = '-';
var whitespace =" \t\n\r ";
var currentCal=null;
var urlRegxp =   /^(((ht|f)tp(s?))\:\/\/)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|[a-zA-Z]{2,7})(\:[0-9]+)*(\/($|[a-zA-Z0-9\.\,\;\?\'\\\+&amp;%\$#\=~_\-]+))*$/; 


function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function changedate_todbformat(obj)
{
	arr = obj.value.split(dateseperator);
	obj.value=arr[2]+dateseperator+arr[0]+dateseperator+arr[1];
}
function newwindow(page,companyname,combo,group,extra)
{
	var cname,ccombo,group;
		cname = companyname;
	if(combo!=0)
		ccombo = combo;
	if(group!=0)
		group = group;	
	if(extra!=0)
	window.open(page+'?companygroup='+group+'companycombo='+ccombo+extra+'&selcompany='+cname,'','scrollbars=1,left=10,height=700,width=1000,top=1')
	//document.frm.submit();
}

 function pointswindow(fileName)
{
  window.open(fileName,"NewWindow","toolbar=no,left=100,top=100,width=400,height=300,resizable=yes,scrollbars=no");
}

function redirect(page,companyname,combo,group,extra)
{
	document.frm.selcompany.value=companyname;
	if(combo!=0)
		document.frm.companycombo.value=combo;
	if(group!=0)
		document.frm.companygroup.value=group;	
	if(page!=0)
	document.frm.action = page;
	if(extra!=0)
	document.frm.action += extra;
//	alert(document.frm.companycombo.value);
	document.frm.submit();
}

function isEmpty(str) {  
	return ((str == null) || (str.length == 0) || (str == " "));
}

function isWhitespace(str) {
	var i;
	var flag
	if (isEmpty(str)) return true;		
	for (i = 0; i < str.length; i++) {   
		var c = str.charAt(i);
		if (whitespace.indexOf(c) == -1)
		return false
	}	
		return true;
}

function datedifference(obj1,obj2)
{	
	//convert to mm/dd/yy  from 
	arr=obj1.split(dateseperator);
//	obj1=arr[1]+"/"+arr[0]+"/"+arr[2];
	arr=obj2.split(dateseperator);
//	obj2=arr[1]+"/"+arr[0]+"/"+arr[2];
	date1 = new Date(obj1);
	date2 = new Date(obj2);
	diff = date1 - date2;
//	alert(obj1+' '+obj2+' '+diff);
	return diff;
}

function display(statement,obj_name)	{
	switch (statement)
	{
		//statement="Check the following information \n";
		case "EMPTY_TEXT":
			//statement="Enter "+obj_name.substr(0)+".";    //eg. Enter <<text box Name>>.    Abhishek
		      statement="- "+obj_name+".";    //eg. Enter <<text box Name>>.    Preetam
			break;
		case "UNSELECTED_COMBOBOX":
			statement="Select "+obj_name.substr(0)+".";   //eg. Select <<Combo box name>>.    Abhishek
			break;			
		case "INVALID_PHONE_FAX":
			statement="- Valid "+obj_name+" ( Only numeric characters with - + ( ) ).";   //eg. Select <<Combo box name>>.    Abhishek
			break;			
		case "INVALID_NUMERIC":
			statement="- Valid "+obj_name+" ( Only numeric characters ).";   //eg. Select <<Combo box name>>.    Abhishek
			break;			
		case "INVALID_EMAIL":
			statement="- Valid "+obj_name+".";   //eg. Select <<Combo box name>>.    Abhishek
			break;			
		case "INVALID_URL":
			statement="- Valid "+obj_name+".";   //eg. Select <<Combo box name>>.    Abhishek
			break;
		case "INVALID_FROM_DATE":
			statement=obj_name+" should be greater than or equal to today's date";		
			break;
		case "INVALID_TO_DATE":
			statement=obj_name+" should be greater than or equal to Dispaly from";		
			break;
		case "INVALID_FROMTO_DATE":
			statement="- Valid "+obj_name+".";   //eg. Select <<Combo box name>>.    Abhishek
			break;
		case "INVALID_INPUT":
			statement="- Valid "+obj_name+".";   //eg. Select <<Combo box name>>.    Abhishek			break;			
			break;
		case "INVALID_CONFIRMPASSWORD":
			statement="- "+obj_name+" and confirm password should be same.";
			break;
		case "INVALID_AGELIMIT":
			statement="should be grater than 18 years old";
			break;
		case "INVALID_ANNI_DATE":
			statement=obj_name+" should be greater than or equal to Birth Date";		
			break;
	    case "INVALID_FROMLEAVE_DATE":
			statement=obj_name+" should be greater than or equal to From Date";		
			break;
		case "INVALID_PHOTO_TYPE":
			statement=obj_name+" Only.jpg/.jpeg/.gif/.bmp images allowed";		
			break;

		case "BACKSLASH_DOUBLEQUOTE":
			statement = "Backslash is not allowed in "+obj_name+"."
			break;	
		default:
				alert('[Error: jfunction.js] check the display function.');
		
	}//switch
	return statement+'\n';
}

//URL Validation
function isValidateURL(obj,msg)
{				
	var strurl= trim(obj.value);
	if (urlRegxp.test(strurl) != true)
	 {
	     alert('Unvalid URL');
	     return false;
	 }
	 else
	 	return true;
}

function isValidatechar(characters,obj,msg)
{
				var objValue=obj.value;
                var tmp
                var lTag
                lTag = 0
                temp = (objValue.length)
                for (var i=0;i<temp;i++)
                {
                        tmp=objValue.substring(i,i+1);
                        if(characters.indexOf(tmp)>=0)
                        {
                                lTag = 1
                                break;
                        }
                }
                if(lTag == 1)
				{
       				output = display('INVALID_EMAIL',msg)
					//obj.style.backgroundColor = _ERROR_COLOR_;//document.frm[obj.name].focus();		
                    return output;
				}				
                else
				{
			        return;
				}		
}


// function to check valid email
function IsEmail(InString) {
  //alert(InString)
	var left, right;
	if(InString.length==0) return(false);
	for(Count=0;Count<InString.length;Count++) {
		TempChar = InString.substring(Count,Count + 1);
		if("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.@_-".indexOf(TempChar,0)==-1) return(false); 
	}
	if(InString.indexOf('@')< 1) return(false);
	if(InString.lastIndexOf('@')!= InString.indexOf('@')) return(false);
	left = InString.substring(0,InString.indexOf('@'));
	right = InString.substring(InString.indexOf('@') + 1,InString.length);
	if((!isDotExpression(left,0))||(!isDotExpression(right,1))) return(false);
	return(true);
}

function isDotExpression(InString,NeedsDot) {
	var dots,index,tmpNeedDot;
	dots=0;
	for(index=0;index<InString.length;index++) {
		if(InString.substring(index,index+1)==".") {
		if((index==0)||(index==InString.length-1)) return(false);
			dots ++;
			if(dots>1)tmpNeedDot=1;
			else tmpNeedDot=0;
			if(!isDotExpression(InString.substring(0,index),tmpNeedDot)) return(false);	
		}      
	}
	if((NeedsDot==1)&&(dots<1)) return (false);
	if(InString.length < dots * 2+1) return (false);
	return (true);
}

function sendemail()
{
	//Email.location.href= '../includes/mail.php';
	window.open('../includes/mail1.php','mail','width=400,height=200,left=300,top=250');
}

function IsEmailValid(obj,msg)
{
if(get = isValidatechar("\"'~`!#$%^&*()+=|\\:;<>,?/{}[]",obj,"E-mail address ( ''~`!#$%^&*()+=|\\:;<>,?/{}[]' not allowed )"))
	return get;
var lEmailId=obj.value;        var c1;        var c2;        var c3;        var c4;        var c5;        var c6;        var varlast;
        emlchar =lEmailId //.value;
        emlchar = emlchar.toLowerCase() ;
       /* if(trimstr(lEmailId)==-1) {
                return false;
        }*/

        c1 = emlchar.indexOf("@");
        c2 = emlchar.indexOf(".");
        c3 = occurs("@", lEmailId) ;
        c4 = emlchar.indexOf("-");
        c5 = occurs(" ", lEmailId) ;
        varlast = emlchar.lastIndexOf(".");
        //alert (emlchar.length);
        //alert (varlast);
                if (varlast+1 == emlchar.length ){
                        c6 = 0;
        }

// Explanation..
// c1== -1        @ must be present
// c2== -1        . must be present
// c1== 0        @ cannot come as first character
// c2== 0        . cannot come as first character
// c1==c2-1        @. back-to-back not allowed
// c1==c2+1        .@ back-to-back not allowed
// c3!=1        @ can occur only once
// (c4 != -1 && c4 < c1)                if hyphen present & comes before @ not allowed
// (c4 != -1 && c4 == emlchar.length-1) if hyphen present & comes as a last character not allowed

        if (c1==-1 || c2==-1 || c1== 0 || c2==0 || c1==c2-1 || c1==c2+1 || c3!=1 || (c4 != -1 && c4 == emlchar.length-1) || c5 >= 0 || c6 == 0)
        {
               // lEmailId.focus();
				output = display('INVALID_EMAIL',msg);
				//document.frm[obj.name].focus();		
				//obj.style.backgroundColor = _ERROR_COLOR_;
                return output;
        }

        if (emlchar.length < 5 || c1==emlchar.length - 1 || c2==emlchar.length - 1 )
        {
                //lEmailId.focus();
				output = display('INVALID_EMAIL',msg);
				//obj.style.backgroundColor = _ERROR_COLOR_;//document.frm[obj.name].focus();		
                return output;
        }

        tmpStr = "0123456789_-abcdefghijklmnopqrstuvwxyz" ;
        cnt = 0;
        i = emlchar.indexOf(".", cnt);

        while (true) {
                ch1 = emlchar.charAt(i-1) ;
                ch2 = emlchar.charAt(i+1) ;
                if (tmpStr.indexOf(ch1) == -1 || tmpStr.indexOf(ch2) == -1)
				{
      					output = display('INVALID_EMAIL',msg);
						//obj.style.backgroundColor = _ERROR_COLOR_;//document.frm[obj.name].focus();		
				        return output;
				}
                cnt = cnt + 1 ;
                i = emlchar.indexOf(".", cnt);
                if (i == -1)
                        break;
        }

        return;
}

/*function datedifference(obj1,obj2)
{
	date1 = new Date(obj1.value);
	date2 = new Date(obj2.value);
	diff = date1 - date2;
	return diff;
}*/

/*
FUNCTION CHECKS FOR NUMERIC DATA
Description:
			Fuction for checkin all numeric characters 
			so if the string contains characters from this set ,this function will return true
			else
			it will return false and call Display() fn for genetrating error message.
Paramters:	1: obj : form object		
			2: msg : control name which will be displayed at the time of error . 
*/
function jsIsAllNumeric(obj,msg)
{
				var objValue=obj.value;
                        lTempLength = objValue.length
                        lTempCounter = 0
                        lTempString = trim(objValue)
                        flag = false

                        do
                        {
                        if(lTempString.charAt(lTempCounter) == " ")
                        {
                                flag = false
                                break
                        }
                        else if(lTempString.charAt(lTempCounter) > 0 || lTempString.charAt(lTempCounter) < 9)
                                flag = true
                        else
                                {
                                        flag = false
                                        break
                                }
                                lTempCounter = lTempCounter + 1
                        }
                        while(lTempCounter <= lTempLength)

                        if(flag == true)
                                return;
                        else
						{
	                  			output = display('INVALID_NUMERIC',msg);
								//obj.style.backgroundColor = _ERROR_COLOR_;								
								return output;
						}		
}


/*
FUNCTION CHECKS FOR VALID PHONE NO.	
Description:
			Phone no or fax can contains all numeric characters with + - ( )
			so if the string contains characters from this set ,this function will return true
			else
			it will return false and call Display() fn for genetrating error message.
Paramters:	1: obj : form object		
			2: msg : control name which will be displayed at the time of error . 
*/
function jsValidatePhoneFax(obj,msg)
{
				var objValue=obj.value;
				alert();
                var characters=" -()+1234567890"
                var tmp
                var lTag
                lTag = 0
                temp = (objValue.length)
                for (var i=0;i<temp;i++)
                {
                        tmp=objValue.substring(i,i+1)
                        if (characters.indexOf(tmp)==-1)
                        {
                                lTag = 1
                        }
                }
                if(lTag == 1)
				{
						output = display('INVALID_PHONE_FAX',msg);
                        return output;
				}		
                else
                        return ;
}

/*function fnCFocus(obj) { // abhishek
		obj.style.borderColor = '#86b262';
}// function */

function jsHasBackSlash_DoubleQuote(obj,objname)	{    /// Abhishek
//	if (obj.value.indexOf ("\\") > -1 ||  obj.value.indexOf ("\"")> -1) 	{		
	if (obj.value.indexOf ("\\") > -1 ) 	{		
			output = display('BACKSLASH_DOUBLEQUOTE',objname);
			//obj.style.backgroundColor = _ERROR_COLOR_;
		return output;
	}
	return;
}

function jsIsNull(obj,objname)	{   ///    Abhishek
try{
	if (trim(obj.value) == "" || trim(obj.value) == " ")	{
			output = display('EMPTY_TEXT',objname);
			//obj.style.borderColor = _ERROR_COLOR_;
			return output;
	}
			return;
	}catch(e){}
}

function jsIsNullTinyText(obj,objname)	{   
	if (trim(tinyMCE.getContent()) == "" || trim(tinyMCE.getContent()) == " ")	{
			output = display('EMPTY_TEXT',objname);
			obj.style.borderColor = _ERROR_COLOR_;
			return output;
	}
			return;
}

function change_date(obj)
{
	// from  mm dd yy to yy mm dd 
	arr = obj.value.split("/");
	obj.value = arr[2]+"-"+arr[0]+"-"+arr[1];	
	return;
}

function jsIsComboUnselected(obj,objname)	{  
	if (trim(obj.value) == "" || trim(obj.value) == " " || trim(obj.value) == "0" || trim(obj.value) == 0)	{
			output = display('UNSELECTED_COMBOBOX',objname);
			//obj.style.backgroundColor = _ERROR_COLOR_;
			return output;
	}
			return;			
}

function trim(pstrString)
{
        var intLoop=0;
        for(intLoop=0; intLoop<pstrString.length; )
        {
			if(pstrString.charAt(intLoop)==" ")
				pstrString=pstrString.substring(intLoop+1, pstrString.length);
			else
				break;
        }

        for(intLoop=pstrString.length-1; intLoop>=0; intLoop=pstrString.length-1)
        {
                if(pstrString.charAt(intLoop)==" ")
                        pstrString=pstrString.substring(0,intLoop);
                else
                        break;
        }
        return pstrString;
}

function occurs(ch, fieldname) {
        cnt         = 0
        flag        = 0
        for (i=0; i < fieldname.length; ++i) {
                if (fieldname.substring(i,i+1) == ch) {
                        cnt = cnt + 1 ;
                        flag= 1;
                }
        }
        if (flag == 1)
                return (cnt) ;
        else
                return (-1) ;
}

function jsChangeCity(value)
{
	document.frm.cmbcity.length = 1;
	index = 1;
	for(i=0;i<cityarray.length;i++)
	{
		if(cityarray[i][2] == value)
			document.frm.cmbcity.options[index++] = new Option(cityarray[i][1],cityarray[i][0]);
	}
}

 function isValidFirstDate(firstyr,firstmn,firstdt,secyr,secmn,secdt) {
   if(firstyr < secyr)
   {
     return false;
   }
     else if (firstyr > secyr)
     {
       return true;
     }
     else if (firstyr==secyr)
     {
			if(firstmn<secmn)
			{
			   return false;
			}
			else if (firstmn > secmn)
			{
				return true;
			}
            else
			{
			  if(firstdt < secdt)
			  {
				return false;
			  }
			  else if (firstdt >= secdt)
			  {
				return true;
			  }
        }//same month
    }//else yr same
}//Function To check whether First Greater Than Secojnd Ends Here

function isValidatePhone(phone)
{
	
				var objValue=phone;
                        lTempLength = objValue.length
                        lTempCounter = 0
                        lTempString = trim(objValue)
                        flag = false

                        do
                        {
                        if(lTempString.charAt(lTempCounter) == " ")
                        {
                                flag = false
                                break
                        }
                        else if(lTempString.charAt(lTempCounter) > 0 || lTempString.charAt(lTempCounter) < 9)
                                flag = true
                        else
                                {
                                        flag = false
                                        break
                                }
                                lTempCounter = lTempCounter + 1
                        }
                        while(lTempCounter <= lTempLength)

						return flag;
}

function fnFocus(obj)
{
	obj.focus();
}

function jsFormsubmit(val)
{
	document.write("<form name='frmgen' method='post'>");
	document.write("<input type='hidden' name='lvid' value="+val+">");
	document.write("</form>");

	document.frmgen.action = "leave.php";
	document.frmgen.submit();
}

function jsFormsubmit1(val,filename)
{
	
	document.write("<form name='frmgen' method='post'>");
	document.write("<input type='hidden' name='genvar' value="+val+">");
	document.write("</form>");
	document.frmgen.action = filename;
	document.frmgen.submit();
	
}


function fneditnews(pagename,id,val)
{
    eval("document.frm."+id+".value="+val+";");
    document.frm.action=pagename+".php";
    document.frm.submit();
}

function fndeletenews(id)
{
  if (confirm("Do you want to delete the record?"))
	{
	   document.frm.page_action.value="newsdelete";
	   document.frm.delid.value=id;	
	   document.frm.submit();
	}
}

function fnchangestatus(status,id)
{
	if(status==1)
	{
	 if (!confirm("Do you want to deactivate the record?"))
	  return false;
	}
	else
	{
	 if (!confirm("Do you want to activate the record?"))
	   return false;
	}
	if(status==1)
		var changedstatus=0;
	else
		var changedstatus=1;
	document.frm.delid.value=id;	
	document.frm.hidstatus.value=changedstatus;	
	document.frm.page_action.value="newsstatus";
	document.frm.submit();

}
function CheckBlank(objname,alertmsg)
{
	for(var i=1;1;i++)
	{
		try
		{ 
			var obj = document.getElementById(objname+i);
			//alert(obj.id);
			if(obj.value=="")
			{
				alertMessage += "-"+alertmsg;
				obj.focus();
			}
		}
		catch(e)
		{
			break;
		}
	}
}

function openNewWindow(fileName)
{
  window.open(fileName,"NewWindow","toolbar=no,left=100,top=100,width=570,height=360,resizable=yes,scrollbars=yes");
}


function IsValidUsername(sText)
{
   var ValidChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"
   var charflag=true;
   var Char; 
   for (i = 0; i < sText.value.length; i++) 
   { 
      Char = sText.value.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
              charflag = false;
   }
   return charflag;
    
   }

/*function ChkUrl(obj)
{
	s=obj.value;
	if(s.substr(0,11)!="http://www.")
			return false;
	else
		return true;
}*/
/*function showresult(file,page,querystring){
	if(querystring.length> 1) 	{
		if (querystring.indexOf("&page") >1)
				querystring = querystring.substr(0,querystring.indexOf("&page"));
		document.frm.action+="?"+querystring;
	}				
	document.frm.pageno.value=page;
	document.frm.submit();
	}
*/

function CheckURL(obj)
{
	url=obj.value;

	var v = new RegExp(); 
	v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
	if(!v.test(url))
		return false;
	else
		return true;

}

function CreateBookmark() 
{ 
	title = "Recs & Rips.com";   
	// Blogger - Replace with <$BlogItemTitle$>   
	// MovableType - Replace with <$MTEntryTitle$> 
	url = "http://www.recsandrips.com";  
	// Blogger - Replace with <$BlogItemPermalinkURL$>   
	// MovableType - Replace with <$MTEntryPermalink$>  
	// WordPress - <?php bloginfo('url'); ?>	
	
	if (window.sidebar) 
	{ // Mozilla Firefox Bookmark		
		window.sidebar.addPanel(title, url,"");	
	} else 
	if( window.external ) 
	{ // IE Favorite		
		window.external.AddFavorite( url, title); 
	} else 
	if(window.opera && window.print) 
	{ // Opera Hotlist		
		return true; 
	} 
} 

/*function isValidDateDiff(smalldate,bigdate)
{
  var smalldatearr =smalldate.split("-");
  var bigdatearr   =bigdate.split("-");  
      
  if((parseInt(bigdatearr[2])) > (parseInt(smalldatearr[2],10)))
     return true;
  else if((parseInt(bigdatearr[2],10)) == (parseInt(smalldatearr[2],10)))
  {
  	if((parseInt(bigdatearr[0],10)) > (parseInt(smalldatearr[0],10)))
  	 	  return true;
  	else if((parseInt(bigdatearr[0],10)) == (parseInt(smalldatearr[0],10)))
  	{	
       if((parseInt(bigdatearr[1],10)) >= (parseInt(smalldatearr[1],10)))    
     				return true;
    		else 
    			  return false;   
     }
     else
     	 return false;
  }  
  else
  		return false;
}*/

function fnCFocus(obj) 
{
	obj.style.backgroundColor = '#f2faff';
	obj.style.borderColor = '#116aaa';
	obj.style.color = '#000000';
}

function fnCBlur(obj) 
{
	obj.style.backgroundColor = '#ffffff';
	obj.style.borderColor = '#6caad6';
	obj.style.color = '#000000';
}


