function clearMessageFocus(object,mess)
{
          var obj = object;
          var dummy=document.getElementById('dummy').value;
          if(obj.value==dummy)
          {
                 obj.value='';
                 obj.style.color='#000000';
          }
}
function clearMessageBlur(obj,message)
{
          var dummy=document.getElementById('dummy').value;
          if(obj.value=='')
          {
                 obj.value=dummy;
                 obj.style.color='#666666';
          }
}

function isMaxLength(obj)
{
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	{
		//document.getElementById("errorMessage").innerHTML = "Max limit is 1000";
		obj.value=obj.value.substring(0,mlength)
	}
}
function onreadystatechangetxtuser()
{
        // If XMLHR object has finished retrieving the data
        if (requester.readyState == 4)
        {
                // If the data was retrieved successfully
                try
                {
                        if (requester.status == 200)
                        {
                                writeDetails();
                        }
                        // IE returns a status code of 0 on some occasions, so ignore this case
                        else if (requester.status != 0)
                        {
                                alert("There was an error while retrieving the URL: " + requester.statusText);
                        }
                }
                catch (error)
                {
                }
        }

        return true;
}
/* Update users details after data is retrieved via XMLHR */
function writeDetails()
{
        var receipt = document.getElementById("txtusername_id");
        if (requester.responseText.charAt(0) == "<")
        {
                var name = document.getElementById("txtusername_id");

                receipt.valid = true;
                var error=requester.responseXML.getElementsByTagName("error")[0].childNodes[0].nodeValue;
                if(error==0)
                {
                        message(receipt, "bluetext", msg);
                }
                else
                {
                        var msg=requester.responseXML.getElementsByTagName("msg")[0].childNodes[0].nodeValue;
                        message(receipt, "rednormaltext", msg);
                }

                        onchangetxtuser(receipt);
        }
        else
        {
                receipt.valid = false;

                if (receipt.value.length < 1)
                {
                        message(receipt, "rednormaltext", "Please enter a valid username");
                }
        }

        return true;
}

function onchangetxtemail(email)
{	
	//alert('herer');
        if(trim(email).length == 0 || isValidEmail(trim(email)) == false)
        {
		if (trim(email).length == 0)
		{
			document.getElementById("spanEmailError").innerHTML = err1;
		}
		else if (!isValidEmail(trim(email)))
			document.getElementById("spanEmailError").innerHTML = err2;
		else
			document.getElementById("spanEmailError").innerHTML = "";
                return;
        }
        if (!email.verified)
        {
                if (requester_email != null && requester_email.readyState != 0 && requester_email.readyState != 4)
                {
                        requester_email.abort();
                }
                try
                {
                        requester_email = new XMLHttpRequest();
                }
                catch (error)
                {
                        try
                        {
                                requester_email = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (error)
                        {
                                requester_email = null;
                                return false;
                        }
                }
		document.getElementById("spanEmailError").innerHTML = "";
                requester_email.onreadystatechange = onreadystatechangetxtemail;
		requester_email.open("GET", "AjaxRequest?emailValidation&txtemail=" + document.registration.txtEmailId.value);
                requester_email.send(null);
        }
        return true;
}

function onchangetxtuser()
{
        if(trim(this.value).length == 0)
        {
                return;
        }
        else
        {
                var UN_msg = new String("");
                UN_msg = UserNameChecks(this.value);
                if(UN_msg.length > 0 )
                {
                        //alert(UN_msg);
			showAlert = false;
                        return false;
                }
        }
        if (!this.verified)
        {
                message(this, "rednormaltext", "Checking availability of username");

                if (requester != null && requester.readyState != 0 && requester.readyState != 4)
                {
                        requester.abort();
                }

                try
                {
                        requester = new XMLHttpRequest();
                }
                catch (error)
                {
                        try
                        {
                                requester = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (error)
                        {
                                requester = null;

                                return false;
                        }
                }
                requester.onreadystatechange = onreadystatechangetxtuser;
                requester.open("GET", "rm_ajaxpop.php?txtuser=" + this.value +"&email=" + document.frmPage1.txtemail.value +"&checktype=ajax");
                requester.send(null);
        }

        return true;
}
/* Insert/clear message next to form element */
function message(element, classString, errorMessage)
{
        if (element.message != null)
        {
                try
                {
                        element.message.className = classString;
                        element.message.removeChild(element.message.childNodes[0]);
                }
                catch (error){}
        }
        if (errorMessage != null)
        {
                if (element.message == null)
                {
                        var messageDiv = document.createElement("div");
                        element.message = element.parentNode.insertBefore(messageDiv, element);
                        //element.message.style.marginLeft = parseInt(element.scrollWidth) + 10 + "px";
                }
                element.message.className = classString;
                element.message.appendChild(document.createTextNode(errorMessage));
        }
        return true;
}

var showAlert = true;			// decides if the error alert on form submission has to be flashed or not
					// incase the username is invalid.

function UserNameChecks(username)
{
        //username = trim(username);
        var tempVal = new String("");
        var err = new String("");
        tempval = trim(username).replace(" ","");

        if(tempval.length == 0)         // if no username has been specified then nake no ajax req. to check availability of username
        {
                return "";
        }
        else if(tempval.length > 0 && tempval.length < 4)       // if not blank, but length less than 4, alert user
        {
                err = "Username should have atleast 4 characters.";
        }
        else if(username.indexOf(" ") > -1)   // if length of username greater than 4, check for spaces in mid of username
        {
                err = "Username cannot contain blank space.";
        }
        else            // check for allowed special characters
        {
                var check;
                for(i=0; i<username.length; i++)
                {
                        check = username.charAt(i);
                        if( ( check >= 'a' && check <= 'z' ) || ( check >= 'A' && check <= 'Z') || (check >= '0' && check <= '9') )
                        {}
                        else
                        {
                                if(check == '-' || check == '_' || check == '.' || check == '@' )
                                {}
                                else
                                {
                                        err = "No special characters other than - (Hypnen), _ (Underscore), . (Dot) and @ (At) are allowed in Username.";
                                }
                        }
                }
        }

        return err;
}

var requester_pass = null;
function sendPassByAjax(emailId)  {

        if ( emailId.length == 0 )
                return;


        if ( !this.verified )   {
                if (requester_pass != null && requester_pass.readyState != 0 && requester_pass.readyState != 4)  {
                        requester_pass.abort();
                }

                try  {
                        requester_pass = new XMLHttpRequest();
                }
                catch (error)  {
                        try  {
                                requester_pass = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (error)  {
                                requester_pass = null;
                                return false;
                        }
                }

        }

        // set the string to "Please wait while we send you the password."
        document.getElementById("uemailtext").innerHTML = "<br>Please wait while the mail is being sent.";
        requester_pass.onreadystatechange = onreadystatechangepass;
        requester_pass.open("GET", "../manager/rm_sendPass.php?txtemail=" + emailId);
        requester_pass.send(null);
}



function onreadystatechangepass()  {
        if ( requester_pass.readyState == 4 )  {
                try  {
                        if ( requester_pass.status == 200 )  {
                                document.getElementById("uemailtext").innerHTML = "<br>"+requester_pass.responseText;
                                //var response = requester_pass.responseText;
                        }
                        else if ( requester_pass.status != 0 )  {
                                document.getElementById("uemailtext").innerHTML = "";
                                alert("There was an error while retrieving the URL.");
                        }
                }
                catch(error)  {
                }
        }
}


/* Function replaceAmpersand to Replace & and # by codes while sending the parameters in
*  in the URL 
* @ Parameters:  String 
* @ return : replaced String value
* @ Created By Gaurav Pahwa
*/
function replaceAmpersand(str)
{
        if(str!="")
        {
                var strReplaced = str.replace(/&/g,'F$^*F^');
                var strReplaced1 = strReplaced.replace(/#/g,'F$^*G^');
		//var strReplaced2 = strReplaced1.replace(/</g,'F$^*H^');
		//var strReplaced3 = strReplaced2.replace(/>/g,'F$^*I^');
		//alert(str);
        }
        return strReplaced1;
}



function trim(inputString)
{
        if (typeof inputString != "string") { return inputString; }

        var temp_str = '';
        temp_str = inputString.replace(/[\s]+/g,"");
        if(temp_str == '')
                return "";

        var retValue = inputString;
        var ch = retValue.substring(0, 1);
        while (ch == " ")
        {
                retValue = retValue.substring(1, retValue.length);
                ch = retValue.substring(0, 1);
        }
        ch = retValue.substring(retValue.length-1, retValue.length);
        while (ch == " ")
        {
                retValue = retValue.substring(0, retValue.length-1);
                ch = retValue.substring(retValue.length-1, retValue.length);
        }
        while (retValue.indexOf("  ") != -1)
        {
              retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
        }
        return retValue;
}


/******************************************************************************

* Function: datevalidate()

* Description: checking date,month,year validation

* Parameters: none

* returns: true on success

******************************************************************************/
function datevalidate(docF)
{
  /*Initialize the variables*/
   var  year_test=docF.listYearOfBirth.selectedIndex;
   var  day_test=docF.listDayOfBirth.selectedIndex;
   var  month_test=docF.listMonthOfBirth.selectedIndex;
	
   var  select_year_test=docF.listYearOfBirth.options[year_test].text;
   var  select_day_test=docF.listDayOfBirth.options[day_test].text;
   var  select_month_test=docF.listMonthOfBirth.options[month_test].text;
//	alert(select_year_test+"##"+select_month_test+"##"+select_day_test);
  /*checking for leap year*/	
   	if((select_year_test%4!=0)&&(select_year_test%400!=0))
        {
		if((select_day_test>28)&&(select_month_test=="February"))
	        {
			showError('spanDOBError','Not a leap year::Feb cannot have more than 28 days');
        		//  alert("Not a leap year::Feb cannot have more than 28 days");
	 		  return false;
		}	
        }
   	else 
     	{
 		if((select_day_test>29)&&(select_month_test=="February"))
 		{
			 showError('spanDOBError','In '+select_year_test+' Feb had 29 days');
       	   		//alert("In "+select_year_test+" Feb had 29 days");
	   		return false;
		}	
     }

  /*Checking whick month has till 30 days*/	
   	if((select_month_test=="April")||(select_month_test=="June")||
	   (select_month_test=="September")||(select_month_test=="November"))
   	{
		if(select_day_test>30)
		{
			showError('spanDOBError',select_month_test+' has a maximum of 30 days');
			//alert(""+select_month_test+" has maximum of 30 days");
			return false;
		}
   }
   return true;
}	

// returns true if date 1 < date 2
function checkDateRange(d1,m1,y1, d2,m2,y2)
{
        if (y1 > y2)
                return false;
        if (y1 < y2)
                return true;

        /* This length check is necessary before comparing them */
        if (m1.length == 1)
                m1 = "0" + m1;
        if (m2.length == 1)
                m2 = "0" + m2;

        if (m1 > m2)
                return false;
        if (m1 < m2)
                return true;

        /* This length check is necessary before comparing them */
        if (d1.length == 1)
                d1 = "0" + d1;
        if (d2.length == 1)
                d2 = "0" + d2;

        if (d1 && d2 && d1 >= d2) // if d1 & d2 are not 0, & d1 >= d2
                return false;

        return true;
}

function showError(fieldId,error)
{
        var docF = document.displayedForm;
        document.getElementById(fieldId).innerHTML = error;
}
function hideError(fieldId)
{
        var docF = document.displayedForm;
        document.getElementById(fieldId).innerHTML = "";
}


function isValidEmail(stremail)
{
        if (stremail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)
                return false;
        else
                return true;
}
function rm_isDigit(c)
{
                 return ((c >= "0") && (c <= "9"))
}

function rm_isInteger(iNumber)
{
        var i;

        for (i=0;i<iNumber.length;i++)
        {
                var c = iNumber.charAt(i);

                if (!rm_isDigit(c))
                {
                        return false;
                }
        }

        return true;
}
        

/* Function checkForSpecialCharacters in the text Fields 
* @ Parameters:  String 
* @ return : true or false
* @ Created By Gaurav Pahwa
*/

function checkForSpecialCharacters(name){
                var nameRe = /^([a-zA-Z\s](\.|\')?)*$/;
                if(!nameRe.test(name) || trim(name) == '')
		{
                        return false;
		}
		/*
		var nameLen=name.length;
                                var  count=0;
                                for(var i=0;i<nameLen;i++)
                                {
                                        var nametemp=name.charCodeAt(i);
                                                if(name.charCodeAt(i)===32)
                                                {
                                                        count=count+2;
                                                }

                                        if((nametemp<65 || nametemp>90) && (nametemp<97 || nametemp>122) && (nametemp!=32) || (name.charAt(i)==" " && name.charAt(i+1)==" "))
                                        {
                                                return false;
                                        }
                }
		*/
		else
			return true;
}
                 
function checkForltAndGtCharacters(str,error,val)
{
	var strLen = str.length;
	//alert(strLen);
		for(var i=0;i<strLen;i++)
		{
				
			//var strTemp=str.charCodeAt(i);
				//	alert(strTemp);
				//alert(str.charCodeAt(i));
				if(str.charCodeAt(i)===60 || str.charCodeAt(i)===62)
				{
					if(val=='Inner')
					{
						//document.formCust.txtErrorSubject.value="cant be";
						document.getElementById(error).innerHTML="Tags < or > are not allowed in subject or message";
						return false;
					}
					/*else if (error=='MY' && val=='CI')
					{
						document.getElementById("txtErrorSubject").innerHTML="cant be";
					}*/
					else
					{
						alert("Tags < or > are not allowed in subject or message");
						return false;
					}
				}
		}
return true;


}
function trapKey(event, skipIE, funcname, arg1, arg2, arg3) {
	if (skipIE && navigator.appName == "Microsoft Internet Explorer") return;
	if((event && ((event.keyCode == 38 || event.keyCode == 40) || (event.keyCode >= 65 && event.keyCode <= 90)))) {
		arg1=arg1?arg1:""; arg2=arg2?arg2:""; arg3=arg3?arg3:"";
		eval(funcname + "(arg1, arg2, arg3)");
	}
}

function show_hide_div(id,maximum_count)
{
	for (i=0;i<=maximum_count;i++) 
	{ 
	// so you can add more than 2 
	var divname = 'read'+i; 
		if(document.getElementById(divname))
		{
			var divStyle = document.getElementById(divname).style; 
			divStyle.display=(id==divname)?'block':'none'; 
		}
	} 
}
function checkDuplicateEmailAdd(g)
{
         cc=document.getElementById("emailbox").value;
                ss=cc.split(',');
                var Arr = new Array();
                for (var i=0;i<ss.length;i++)
                {
                        var test1 = ss[i].split('<');
                        var test2 = test1[1].split('>');
                        Arr[i] = test2[0];
                }
                var length = Arr.length;
                Arr[length]=g;
                var k=1;
                var l=0;
                for(var j=0;j<Arr.length;j++)
                {
                        k=l+1;
                        while(k<Arr.length)
                        {
                                if(Arr[j]==Arr[k])
                                {
                                        alert("Error:Cannot have Same Email Addresses");
                                        return false;
                                }
                        k++;
                        }
                l++;

                }
return true;
}

	document.write("<div id=help_l style='position:absolute;z-index:2;visibility: hidden;width:185px;left: 3px;'><div style='width:10px; padding-top:8px;position:absolute'><img src='http://www.brijj.com/images/pointer.gif' style='position:relative;left:-10px'/>       </div>  <div>                   <div class=raised>                      <b class=b1></b><b class=b2></b><b class=b3></b><b class=b4></b>                                <div class='boxcontent pad2 helptxt' id=boxcontent>   </div><b class=b4b></b><b class=b3b></b><b class=b2b></b><b class=b1b></b>              </div>  </div> </div>");
var hide1  = true;
function invite_showhideadv(obj,ans,w,y_p,x_p,m_lay,ans_lay)
{

        var x = document.getElementById(m_lay);

        x.style.width=w+"px";
        hide1 = !hide1;
        x.style.visibility = (hide1) ? 'hidden' : 'visible';
        if(x.style.visibility=='visible')
        {invite_setLyradv(obj,m_lay,y_p,x_p);}

        document.getElementById(ans_lay).innerHTML=ans



        x.onmouseover=function()
        {
        hide1 = false;
        var theTimer = setTimeout(check, 1000);

        };
        x.onmouseout=function(){
        hide1 = true;
        var theTimer = setTimeout(check, 1000);

        };
        x.onmouseout=function(){
        hide1 = true;
        var theTimer = setTimeout(check, 1000);

        };

        obj.onmouseout=function(){
        var theTimer = setTimeout(check, 1000);
        hide1 = !hide1;};
        function check(){
        x.style.visibility = (hide1) ? 'hidden' : 'visible';
        }

 }
function invite_setLyradv(obj,lyr,y_p,x_p)
{
        var coors = invite_findPos(obj);
        var x = document.getElementById(lyr);
        x.style.top = coors[1] + y_p + 'px';
        x.style.left = coors[0] - x_p + 'px';
}

function invite_findPos(obj)
{
        var curleft = curtop = 0;
        if (obj.offsetParent) {
                curleft = obj.offsetLeft
                curtop = obj.offsetTop
                while (obj = obj.offsetParent) {
                        curleft += obj.offsetLeft
                        curtop += obj.offsetTop
                }
        }
        return [curleft,curtop];
}

