/**********************************COMMMOM ADMIN FUNCTION IS NEEDED FOR THE ADMIN LOGIN & LOGOUT & SETTINMG OF THE ADMIN ****************/
/*****************************
Function name : resetDate
Return type : none
Date created : 10 March 2007
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : This function is used to reset the date of a form
User instruction : resetDate()
 ************************************/
function resetDate()
{
	document.getElementById('frmFromDate').value = '';
	document.getElementById('frmToDate').value = '';
    //document.frmDateSearch.frmFromDate.value = "";
    //document.frmDateSearch.frmToDate.value = "";
}

function resetFrontSearchDate()
{
	document.getElementById('frmFromDate').value = 'From Date';
	document.getElementById('frmToDate').value = 'To Date';
	return false;
    //document.frmDateSearch.frmFromDate.value = "";
    //document.frmDateSearch.frmToDate.value = "";
}

/*****************************
Function name : dateCompare
Return type : boolean
Date created : 19 March 2007
Date last modified : 
Author : Sandeep Kumar
Last modified by :
Comments : This function is used to validate the date compare form and to date.[ From date should be less than to date. ]
User instruction : dateCompare(formname)
 ************************************/
function dateCompare(formname)
{
    var sliptdate = document.getElementById('frmToDate').value.split("-");
    var FromDate  = document.getElementById('frmFromDate').value.split("-");
    /*********************** From Date *****************/
    var TY = FromDate[0];  //Year
    var TM = FromDate[1];  //Month
    var TD = FromDate[2];  //Date
    /******************* To Date *********************/
    var sY=sliptdate[0];  //Year
    var sM=sliptdate[1];  //Month
    var sD=sliptdate[2];  //Date
    if(document.getElementById('frmFromDate').value != '' && document.getElementById('frmToDate').value != '')
    {
        if(sM==TM && sD<TD && sY==TY)
        {
            alert("'To' date should be greater than 'From' date.");
            return false;
        }
    }
}
/******************************************
Function name : showSearchBox
Return type : None
Date created : 20th October 2007
Date last modified : 20th October 2007
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function is used to show hide the seacch box
User instruction : showSearchBox()
 ******************************************/
function showSearchBox(varDocumentID, varShow)
{
	if(varShow == 'show')
	{
        document.getElementById(varDocumentID).style.display = 'block';
	}
	else
	{
        document.getElementById(varDocumentID).style.display = 'none';
	}
	
}
/*****************************
Function name : checkCapsLock
Return type : none
Date created : 20 june 2008
Date last modified : 20 june 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to display alert message when caps lock is on.
User instruction : checkCapsLock( e , FieldID) 
 ************************************/
function checkCapsLock(e , FieldID) 
{
	var myKeyCode=0;
	var myShiftKey=false;
	var myMsg='Caps Lock is ON.\n\nTo prevent entering your password incorrectly,\nYou should press Caps Lock to turn it OFF.';

	// Internet Explorer 4+
	if ( document.all ) 
	{
		myKeyCode=e.keyCode;
		myShiftKey=e.shiftKey;

        // Netscape 4
	} 
	else if ( document.layers ) 
	{
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

        // Netscape 6
	} 
	else if ( document.getElementById ) 
	{
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

	}
	
	//if(document.getElementById(FieldID).value.length==0) 
	//{
		// Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
		if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) 
		{
			
			alert( myMsg );
			document.getElementById(FieldID).value = '';
			//return;
			//return false;
	
            // Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
		} 
		else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) 
		{
			document.getElementById(FieldID).value = '';
			alert( myMsg );
            //	return;
			//return false;
		}
		return false;
	//}
}

/*****************************
Function name : checkCapsLock_1
Return type : none
Date created : 20 june 2008
Date last modified : 20 june 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to display alert message when caps lock is on.
User instruction : checkCapsLock_1( e , FieldID) 
 ************************************/
function checkCapsLock_1(e , FieldID) 
{
	/*var myKeyCode=0;
	var myShiftKey=false;
	var myMsg='Capital Letter(s) are not allowed for Varification Code.';

	// Internet Explorer 4+
	if ( document.all ) 
	{
		myKeyCode=e.keyCode;
		myShiftKey=e.shiftKey;

        // Netscape 4
	} 
	else if ( document.layers ) 
	{
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

        // Netscape 6
	} 
	else if ( document.getElementById ) 
	{
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

	}
	
	// Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
	if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) 
	{
		document.getElementById('frmSecurityCode').value = '';
		alert( myMsg );
		
	} 
	else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) 
	{
		document.getElementById('frmSecurityCode').value = '';
		alert( myMsg );
		
	}
	
	//return false;
	*/
}
/******************************************
Function name : checkUserName
Return type : None
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function is used to login check using ajax.The ajax login check is a combination of functions all are using to check login system.
User instruction : checkUserName()
 ******************************************/
/* AJAX LOGIN CHECK CODE START FROM HERE */
function checkUserName() 
{
	var alphaNum = /^[0-9a-zA-Z_@.]+$/;
	var Usermail = document.getElementById('frm_login').frmAdminUserName.value;

	var charArray = new Array();
	var tString = "";
	for(i = 0; i < Usermail.length; i++) 
	{
		charArray[i] = Usermail.charAt(i);
	}

	for(i = 0; i < charArray.length; i++) 
	{
		if (charArray[i].match(alphaNum))
		{
			tString += charArray[i];
		}
	}	
	
	if (tString != "")
	{
		checkUserEmail(tString);
	}	
}
function checkUserEmail(mailID)
{ 
	
	doAjax('ajax_act.php','type=signUp&userEmail='+mailID,'showUserEmail','GET');
}
function showUserEmail(item)
{
		
	if(item)
	{
			
		document.getElementById('showUserName').style.display = 'none';	
	}
	else
	{
		document.getElementById('showUserName').style.display = 'inline';
	}

}
/*****************************
Function name : validateAdminForm
Return type : integer
Date created : 20 june 2008
Date last modified : 20 june 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This is used to check admin login authentications.
User instruction : validateAdminForm(charToCheck)
 ************************************/
function validateAdminLogin(formname)
{
	if(validateForm(formname,'frmAdminUserName','Username','R', 'frmAdminPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}

/******************************************
Function name : validator
Return type : boolean
Date created : 
Date last modified : 
Author : 
Last modified by : 
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
 ******************************************/
function validateForm() 
{ 
	var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
	j=0;
	
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	
	//var regSpace = /^([a-zA-Z0-9_\!#@^&*%~-]+)$/;
	var regSpace = /^([a-zA-Z0-9-/_!#@]+)$/;
var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/; 
var regChar = /^([a-zA-Z]+)$/;
var regNumeric = /^([0-9]+)$/; 
//var regDecimal = /^([0-9]+|(\.?)[0-9]+)$/;
var regDecimal = /^([0-9]{0,20}\.?[0-9]{1,2})$/;
	
for (i=1; i<(args.length-2); i+=3) 
{	
    mesg=args[i+1];
    test=args[i+2];
    val=document.forms[""+args[0]].elements[""+args[i]];
		
    if (val)
    {
			
        nm=mesg;
        noVal = val;
        val = val.value;
        if(regBlank.test(val))
        {
            if(test.indexOf('isEqual')!=-1)
            {
                result = trim(val);

                if(result.length==0)
                {
											
					errors += '---> '+nm+' is required.\n'; 
                }
                else
                {
					equal_obj_val = test.substring(8,test.indexOf(":"));
					mesg_string =test.substring((test.indexOf(":")+1));

                    if(val != document.forms[""+args[0]].elements[""+equal_obj_val].value)
                    {
                        errors+='---> '+nm+' and '+mesg_string+' must be same.\n';
                    }
                }
            }
            else if(test.indexOf('isAlphaNum')!=-1)
            {
                result = trim(val);
                if(result.length==0){
					errors += '- '+nm+' is required.\n'; 
                }else{
                    if(!regAlphaNum.test(val))
                    {
                        errors += '---> '+nm+' is not valid.\n';
                    }
                }
				
            }
            else if(test.indexOf('isNumeric')!= -1)
            {
                if(!regNumeric.test(val))
                {
                    errors += '---> '+nm+' must contain a numeric value.\n';
							
                }
            }
            else if(test.indexOf('isDecimal') != -1)
            {
					
                if(!regDecimal.test(val))
                {
                    errors += '---> '+nm+' must contain a number.\n';
                }
            }
			
				
            else if(test.indexOf('isSpace')!=-1)
            {
                result = trim(val);
					
                if(result.length==0)
                {
                    errors += '---> '+nm+' is required.\n';
                }
                else
                {
                    if(!regSpace.test(val))
                    {
                        errors += '---> '+nm+' is not valid.\n';
                    }
                }
            }
            else if (test.indexOf('isEmail')!=-1)
            {
                p=val.indexOf('@');
                s=val.indexOf('.');
                if (p<1 || p==(val.length-1))
                {
                    errors+='---> '+nm+' must contain an e-mail Address.\n';
		
                }
                else if(!regEmail.test(val))
                {
                    errors+='---> '+nm+' must contain a valid e-mail Address.\n';
                }
            }
            else if (test.indexOf('isUrl')!=-1)
            {
                p=val.indexOf('http://');
                s=val.indexOf('.');
                if (p<0 || p==(val.length-1))
                {
                    errors+='---> '+nm+' must be valid URL e.g. http://www.abc.com\n';
		
                }
                else if(s<p || s==(val.length-1))
                {
                    errors+='---> '+nm+' must be valid URL e.g. http://www.abc.com\n';
                }
            }
            else if (test.indexOf('isChar')!=-1)
            {
                var first_char;
					
                if(val.match(regChar)==null)
                {
                    errors+='---> '+nm+' must contain a character.\n';
                }
            }
            else if(test.indexOf('isCheckbox')!=-1)//Check is check box is not checked generate error
            {
                var valueCheckbox = noVal.checked;
                if(!valueCheckbox)
                {
                    errors+='---> '+' Accept terms and Policy.\n';
                }
            }
            else if (test.charAt(0)=='R')
            {
                result = trim(val);
                if(result.length==0){
						
					errors += '---> '+nm+' is required.\n'; 
                }
            }
			
		}
		else if (test.charAt(0)=='R')
		{
			result = trim(val);
            if(result.length==0){
					
				errors += '---> '+nm+' is required.\n'; 
            }
		}
		
        if (test.indexOf('isDate')!=-1)
        {
            //alert("vineet");
            p=val.indexOf('-');
            // alert(test.indexOf('isDate'));
            var sliptdate	= val.split("-");
					
            /*******************Added by rupesh Date is not before current date and month*********************/
            var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate(),TH=today.getHours();
            TM+=1;
            if(TM<=9)
            {
                TM='0'+TM;
            }
            if(TD<=9)
            {
                TD='0'+TD;
            }
            /*******************Added by rupesh*********************/
					
            var sY=sliptdate[0];
            var sM=sliptdate[1];
            var sD=sliptdate[2];
					
            /*******************Added by rupesh*********************/
            //alert(TM);
            if(sY>1)
            {
						
                if(sY<TY )
                {
                    errors+='---> '+nm+' should be greater than or equal to current date.\n';
                }
                else if(sM==TM && sD<TD && sY==TY)
                {
	
                    errors+='---> '+nm+' should be greater than or equal to current date.\n';
							
                }
                else if(sM<TM && sY==TY)
                {
	
                    errors+='---> '+nm+' should be greater than or equal to current date.\n';
                }
            }
				
        }
		if(errors !="")
		{	if(j<=0)
			{
				focusitem = document.forms[""+args[0]].elements[""+args[i]];
				j++;
			}	
		}
    }
		
} 
	
if (errors)
{
	var MasterString = getMasterString();
	alert(MasterString+'\n'+errors);
	focusitem.focus();
	return false;
}
else
	return true;

document.MM_returnValue = (errors == '');
}
/*****************************
Function name : validateEmailChange
Return type : boolean
Date created : 20 june 2008
Date last modified : 21 june 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to validate admin notification email id.
User instruction : validateEmailChange(charToCheck)
************************************/
function validateEmailChange(formname)
{
if(validateForm(formname, 'frmAdminEmail','Email','RisEmail'))
{			
    var flag=confirm('Are you sure you want to change notification E-mail?')
    if(flag)
		return true;
    else
		return false;		
} 
else 
{
    return false;
} 
}
/*****************************
Function name : validateChangePassword
Return type : boolean
Date created : 10th September 2008
Date last modified : 
Author : Sandeep Kumar
Last modified by :
Comments : This is used to validate admin password and confirm passwords.
User instruction : validateChangePassword(formname)
************************************/
function validateChangePassword(formname)
{
if(validateForm(document.getElementById(formname).id,'frmAdminOldPassword', 'Current Password', 'RisSpace', 'frmAdminNewPassword', 'New Password','RisSpace','frmAdminConfirmPassword', 'Confirm New Password', 'RisEqualfrmAdminNewPassword:New Password'))
{			
    var flag=confirm('Are you sure you want to change password?')
    if(flag)
    {
        return true;
    }
    else
    {
        document.getElementById(formname).frmAdminOldPassword.value='';
        document.getElementById(formname).frmAdminNewPassword.value='';
        document.getElementById(formname).frmAdminConfirmPassword.value='';
        return false;
    }
} 
else 
{
    document.getElementById(formname).frmAdminOldPassword.value='';
    document.getElementById(formname).frmAdminNewPassword.value='';
    document.getElementById(formname).frmAdminConfirmPassword.value='';
    return false;
} 

}

/*****************************
Function name : validateResetPassword
Return type : boolean
Date created : 23rd September 2008
Date last modified : 23rd September 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This is used to validate admin password and confirm passwords.
User instruction : validateResetPassword(formname)
************************************/
function validateResetPassword(formname)
{
if(validateForm(document.getElementById(formname).id, 'frmNewPassword', 'New Password','RisSpace','frmConfirmNewPassword', 'Confirm New Password', 'RisEqualfrmNewPassword:New Password'))
{	
    return true;
} 
else 
{
    return false;
} 

}

/*****************************
Function name : validateAdminForgotPassword
Return type : none
Date created : 10th September 2008
Date last modified : 
Author : Sandeep Kumar
Last modified by :
Comments : This function is used to validate forgot password form.
User instruction : validateAdminForgotPassword(formname)
************************************/
function validateForgotPassword(formname)
{
if(validateForm(formname,'frmUserName','Username','RisEmail','frmSecurityCode','Verification code','R'))
{	
    return true;
} 
else 
{
    return false;
} 
}
/******************************************
Function name : ltrim
Return type : string
Date created : 
Date last modified : 
Author : 
Last modified by : 
Comments : Function will return the main string after removing white spaces from the left
User instruction : ltrim(str)
******************************************/
function ltrim(str) { 
for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
return str.substring(k, str.length);
}
/******************************************
Function name : rtrim
Return type : string
Date created : 
Date last modified : 
Author : 
Last modified by : 
Comments : Function will return the main string after removing white spaces from the right
User instruction : rtrim(str)
******************************************/
function rtrim(str) {
	if(str)
	{
		for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
		return str.substring(0,j+1);
	}
	else
	{ 
		return '';
	}
	 
}
/******************************************
Function name : trim
Return type : string
Date created : 
Date last modified :
Author : 
Last modified by : 
Comments : Function will return the main string after removing white spaces from the right and left of the main string
User instruction : trim(str)
******************************************/
function trim(str) {
	if(str)
	{
		return ltrim(rtrim(str));
	}
	else
	{
		return '';
	}
	
}
/******************************************
Function name : isWhitespace
Return type : integer
Date created : 
Date last modified : 
Author : 
Last modified by : 
Comments : Function will return the index of white space encounter in the string.
User instruction : isWhitespace(charToCheck)
******************************************/
function isWhitespace(charToCheck) {
	var whitespaceChars = " \t\n\r\f";
	return (whitespaceChars.indexOf(charToCheck) != -1);
}
/******************************************
Function name : checkError
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will return the true or false acording to form validation
User instruction : checkError(error)
******************************************/
function checkError(error)
{
	var flag=false;
	var MasterString = getMasterString();
 
	if(error != "")
	{
		MasterString = MasterString + error;
		flag=true;
	}
 
	if(flag == true)
	{
		alert(MasterString);
		return false;
	}
	else
		return true;
	}
/******************************************
Function name : getMasterString
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will return the main string
User instruction : getMasterString()
******************************************/
function getMasterString()
{
	return "Sorry, we can not complete your request.\nKindly provide us the missing or incorrect information enclosed below.\n";
}
/******************************************
Function name : toggleOption
Return type : None
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will toggle the select all checkbox option.
User instruction : toggleOption(spanChk)
******************************************/
 
function toggleOption(spanChk)
{
	//alert(spanChk);
	var xState=spanChk.checked;
	var theBox=spanChk;
	 
	elm=theBox.form.elements;
	 //alert(elm);
	for(i=0;i<elm.length;i++)
	{
		if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
		{
			if(xState == false)
				elm[i].checked = false;
			else
				elm[i].checked = true;
		}
	}
}
/******************************************
Function name : toggleOption
Return type : None
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will deselect the main checkbox
User instruction : deSelectCheckbox(spanChk)
******************************************/
function deSelectCheckbox(formname)
{
	document.getElementById('Main').checked = false;
}
 
/******************************************
Function name : setValidAction
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will ask for confirmation of updating records
User instruction : setValidAction(value, formname,listname)
******************************************/
function  setValidAction(value, formname, listname)
{
	 if(value == 'Delete' || value.indexOf ('Delete')>-1)
	 {
	  	message = "delete selected "+listname;  
	 }
	 else
	 {
	 	 message = "change status of selected "+listname;
	 }
	 var flag = validator(message,formname);   
	 if(flag)
	 {   
	  	formname.submit();
	 }
	 else
	 {
		  formname.frmChangeAction.value=''; 
		  document.getElementById('Main').checked = false;
		if(listname == 'Consumer(s)' || listname == 'Page(s)' || listname == 'Category(s)' || listname == 'Venue(s)' || listname == 'Business(s)' || listname == 'Order(s)' || listname == 'Reservation(s)')
		{
				   document.forms[1].Main.checked=false; 
				   elm = document.forms[1].elements;
		}
		else
		{
				   document.forms[1].Main.checked=false; 
				   elm = document.forms[1].elements; 
		}
	 }
	 // document.forms[1].checked = false;
	 
	if(elm)
	 {
		for(i=0;i<elm.length;i++)
		{
			if(elm[i].type == "checkbox" )
			{
				elm[i].checked = false;
			}				   
		}
	 }
    return false;
}

/******************************************
Function name : validator
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
******************************************/
var btnType;
function validator(btnType,formname)
{
var obj = formname;
var error="", flagCheck=0;
var len = obj.elements.length; 
var i=0;
for(i=0;i<len;i++) 
{
    if(obj.elements[i].type=='checkbox')
    {
        if(obj.elements[i].checked)
        {
            //if(btnType == 'Delete')
            return askConfirm(btnType);
            //else
            //return true;
        }
        else
            flagCheck = 1;
    }
}
 
if(flagCheck == 1)
    error += "\n -- Please select at least one record.";
   
return checkError(error);
}
/******************************************
Function name : askConfirm
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will return the true or false after asking for confirmation
User instruction : askConfirm(type)
******************************************/
function askConfirm(type)
{ 
	var sen = "Are you sure you want to "+type+"?";
	if(confirm(sen))
	{
		return true;
	}
	else
	{
		return false;
	}
}
/*****************************
Function name : checkPrice
Return type : boolean
Date created : 21st October 2008
Date last modified : 21st October 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to validate price in form.
User instruction : checkPrice(fieldID)
************************************/
function checkPrice(fieldID)
{
	var val = document.getElementById(fieldID).value;
	if(val != '' )
	{
		if(!isNaN(val))
		{
			if(val.indexOf(".")<0)
			{
				document.getElementById(fieldID).value=val+'.00';
			}
			else
			{
				var Rate = val.split(".");
				var Decimal = Rate[1];
				if(Decimal.length==2)
				{
					document.getElementById(fieldID).value=val;
				}
				else
				{
					document.getElementById(fieldID).value=val+'0';
				}
			}
		}
		else
		{
			alert('Please enter numeric value.');
			document.getElementById(fieldID).focus();
			return false;
		}
	}
}
/******************************************
Function name : validateCategoryForm
Return type : boolean
Date created : 10th October 2008
Date last modified : 10th October 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will validate the student form.
User instruction : validateCategoryForm(formname)
******************************************/
function validateCategoryForm(formname)
{
	if(validateForm(formname,'frmCategoryName','Category','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}






/*****************************
Function name : validateCMSForm
Return type : bollean
Date created : 1st November 2008
Date last modified : 1st November 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to validate the CMS form.
User instruction : validateCMSForm(formname)
************************************/
function validateCMSForm(formname)
{
	if(validateForm(formname,'frmPageTitle','Page Title','R','frmPageKeywords','Meta Keywords','R','frmPageDescription','Meta Description','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}

/*****************************
Function name : showOptionTypeDetail
Return type : bollean
Date created : 20th April 2009
Date last modified : 20th April 2009
Author : Vineet Kumar
Last modified by : Vineet Kumar
Comments : This function is used to validate the CMS form.
User instruction : validateCMSForm(formname)
************************************/
function showOptionTypeDetail(item)
{
	
	var arrsplit = item.split('&');
	if(arrsplit.length == '5')
	{
		var OptionIndex =  arrsplit[arrsplit.length-1];
		document.getElementById('frmLimitCaption_'+OptionIndex).innerHTML =  arrsplit[0];
		document.getElementById('frmLimitTextBox_'+OptionIndex).innerHTML = arrsplit[1];
		document.getElementById('frmDataTypeCaption_'+OptionIndex).innerHTML = arrsplit[2];
		document.getElementById('frmDataTypeBox_'+OptionIndex).innerHTML = arrsplit[3];
	}
	else
	{
		var OptionIndex =  arrsplit[arrsplit.length-1];
		document.getElementById('frmLimitCaption_'+OptionIndex).innerHTML =  arrsplit[0];
		document.getElementById('frmLimitTextBox_'+OptionIndex).innerHTML = arrsplit[1];
		document.getElementById('frmDataTypeCaption_'+OptionIndex).innerHTML = '';
		document.getElementById('frmDataTypeBox_'+OptionIndex).innerHTML = '';
	}	
}

function checkEditFormDetails()
{
	var formElementCount = document.getElementById('frmEditFormElementCount').value; 
	for(i=1;i<=formElementCount;i++)
	{
		//editMorePackage(i);
	}
}
/******************************************
Function name : rpValidInteger
Return type : none
Date created : 16th Dec 2008
Date last modified :16th Dec 2008
Author : Pankaj Pandey
Last modified by : Pankaj Pandey
Comments : Function will check whether value entered is integer or not.
User instruction : rpValidInteger(myfield, e)
******************************************/
function rpValidInteger(myfield, e) 
{
	var key;
	var keychar;
	if (window.event) 
	{
		key = window.event.keyCode;
	}           
	else if (e) 
	{
		key = e.which;
	}           
	else 
	{
		return true;
	}
	keychar = String.fromCharCode(key);
	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) 
	{
		return true;
	}           
	// numbers or decimal
	else if( (("0123456789.").indexOf(keychar) > -1) ) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}
/***********************ORDER SECTION JS START****************************************************************/

/*****************************
Function name : changePaymentStatus
Return type : integer
Date created : 17th May 2009
Date last modified : 
Author : Pankaj Kumar 
Last modified by : 
Comments : This function is used to change and validate order status to paid or unpaid.
User instruction : changePaymentStatus(payment,recordID)
************************************/
function changePaymentStatus(payment,recordID)
{
   
if(payment == "Paid")
{
	var flag=confirm('Are you sure you want to change payment status?')
    if(flag)
    {
		document.forms[1].action='order_action.php?RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
    }
    else
    {
		var PaymentStatus = 'frmPaymentStatus'+recordID;
		document.getElementById(PaymentStatus).value='Unpaid';
		return false;    
    }
}
}
/*****************************
Function name : changeReservationStatus
Return type : integer
Date created : 17th May 2009
Date last modified : 
Author : Pankaj Kumar 
Last modified by : 
Comments : This function is used to change and validate order status to paid or unpaid.
User instruction : changeReservationStatus(payment,recordID)
************************************/
function changeReservationStatus(payment,recordID)
{
   
if(payment == "Reserved")
{
	var flag=confirm('Are you sure you want to change reservation status?')
    if(flag)
    {
		document.forms[1].action='reservation_action.php?RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
    }
    else
    {
		var PaymentStatus = 'frmPaymentStatus'+recordID;
		document.getElementById(PaymentStatus).value='Unreserved';
		return false;    
    }
}
}
/*****************************
Function name : changeOrderStatus
Return type : integer
Date created : 17th May 2009
Date last modified : 
Author : Pankaj Kumar
Last modified by : 
Comments : This function is used to change order status.
User instruction : changeOrderStatus(OrderStatus,recordID)
************************************/
function changeOrderStatus(OrderStatus,recordID)
{
	
if(OrderStatus != "Pending")
{
    var flag=confirm('Are you sure you want to change order status?')
    if(flag)
    {
	    
		document.forms[1].action='order_action.php?OrderStatus='+OrderStatus+'&RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
    }
    else
    {
		var OrderStatus = 'frmOrderStatus'+recordID;
		
		document.getElementById(OrderStatus).value='Pending';
	    return false;    
    }
}
}

/******************************************
Function name : deSelectCheckbox
Return type : None
Date created : 17th May 2009
Date last modified : 
Author : Pankaj Kumar
Last modified by : 
Comments : Function will deselect the main checkbox
User instruction : deSelectCheckbox(spanChk)
******************************************/
function deSelectCheckbox(formname)
{
	document.getElementById('Main').checked = false;
}
/*************************FRONT END JS FUNCTION STARTS FROM HERE***************************
/*****************************
Function name : 
Return type : integer
Date created : 2 June 2009
Date last modified : 2 June 2009
Author : Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This is used to check user login authentications.
User instruction : validateSupplierLoginForm(charToCheck)
************************************/
function validateLoginForm(formname)
{
	if(validateForm(formname,'frmSupplierEmailID','Email ID','RisEmail', 'frmSupplierPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 

}
/*****************************
Function name : validateForgotPasswordForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailID(charToCheck)
************************************/
function validateForgotPasswordForm(formname)
{
	
	if(validateForm(formname,'frmSupplierEmailID', 'Email Id/User ID', 'RisEmail', 'frmSecurityCode', 'Verification Code', 'R'))
	{
		return true;
	}
	else
	{
		return false;
	}
}
/*****************************
Function name : validateChangePasswordForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateChangePasswordForm(charToCheck)
************************************/
function validateChangePasswordForm(formname)
{
	if(validateForm(formname,'frmOldPassword', 'Old Password', 'R', 'frmNewPassword', 'New Password', 'R', 'frmConfirmPassword', 'Confirm Password', 'RisEqualfrmNewPassword:New Password'))
	{
		error='';
		if(document.getElementById('frmNewPassword').value.length < 6)
		{
			error += '--->New Passord must be minimum 6 characters long.\n';
		}
		if(document.getElementById('frmConfirmPassword').value.length < 6)
		{
			error += '--->Confirm Passord must be minimum 6 characters long.';
		}
		if(error != '')
		{
			alert(getMasterString()+'\n'+error);
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		return false;
	}
}
/*****************************
Function name : validateEmailSettingsForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailSettingsForm(charToCheck)
************************************/
function validateEmailSettingsForm(formname)
{
	
	if(validateForm(formname,'frmSupplierLeadEmailAddress', 'Email Address 1', 'RisEmail', 'frmSupplierLeadEmailAddress2', 'Email Address 2', 'isEmail', 'frmSupplierLeadEmailAddress3', 'Email Address 3', 'isEmail'))
	{
		return true;
	}
	else
	{
		return false;
	}
}


/*****************************
Function name : validateEmailSettingsForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailSettingsForm(charToCheck)
************************************/
function validateSettingForm(formname)
{
	if(document.getElementById('frmSupplierLeadSettingCount').value != '')
	{
		if(validateForm(formname,'frmSupplierLeadSettingCount', 'Leads Count For Period', 'RisNumeric', 'frmSupplierLeadSettingPeriod', 'Period', 'R'))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}


/*****************************
Function name : validateUserResetPasswordFrm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author : Pankaj Pandey
Last modified by : Pankaj Pandey
Comments : This is used to validate user confirm password.
User instruction : validateUserResetPasswordFrm(formname)
************************************/
function validateUserResetPasswordFrm(formname)
{
	if(validateForm(formname,'frmNewPassword', 'New Password','RisSpace','frmConfirmPassword', 'Confirm New Password', 'RisEqualfrmNewPassword:New Password'))
	{			
		
		return true;
	} 
	else 
	{
		return false;
	} 

}

/*****************************
Function name : isValidDateOfBirth
Return type : boolean
Date created : 31st March 2009
Date last modified : 31st March 2009
Author : Pankaj Pandey
Last modified by : Pankaj Pandey
Comments : This function is used to validate the Date form. 
User instruction : isValidDateOfBirth(enteredDate)
************************************/
function isValidDateOfBirth(dtStr)
{
	//alert(dtStr);return false;
	var dtCh= "-";
	var minYear=1900;
	var maxYear=2100;
	var errorString = '';
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	//alert(pos1); return false;
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) 
		strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) 
		strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) 
	{
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1)
	{
		errorString += '- Birthdate format should be : dd-mm-yyyy\n';
		return errorString;
	}
	
	if (strMonth.length<1 || month<1 || month>12)
	{
		errorString += '- Please enter a valid month';
		return errorString;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
		errorString += '- Please enter a valid day.\n';
		//alert(errorString); return false;
		return errorString;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear)
	{
		errorString += "- Please enter a valid 4 digit year between "+minYear+" and "+maxYear+"\n";	
		return errorString;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
	{
		errorString += "- Please enter a valid Birthdate.\n";
		return errorString;
	}
	return '';	
}
/*****************************
Function name : validateTheDateOfBirth
Return type : boolean
Date created : 31st March 2009
Date last modified : 31st March 2009
Author : Pankaj Pandey
Last modified by : Pankaj Pandey
Comments : This function is used to validate the Date form. 
User instruction : validateTheDateOfBirth(enteredDate)
************************************/
function validateTheDateOfBirth(enteredDate)
{
	var bolValidity = isValidDateOfBirth(enteredDate);
	//alert(bolValidity);return false;
	if (bolValidity == '')
	{
		return '';
	}
	else
	{
		return bolValidity;	
	}
}

// ********************************* Code for Book Mark*******************************************************
//IE5+/Win, Firefox, Netscape 6+, Opera 7+, Safari, Konqueror 3, IE5/Mac, iCab 3
var addBookmarkObj = {
  linkText:'Bookmark',
  addTextLink:function(parId){
    var a=addBookmarkObj.makeLink(parId);
    if(!a) return;
    a.appendChild(document.createTextNode(addBookmarkObj.linkText));
  },
  addImageLink:function(parId,imgPath){
    if(!imgPath || isEmpty(imgPath)) return;
    var a=addBookmarkObj.makeLink(parId);
    if(!a) return;
    var img = document.createElement('img');
    img.title = img.alt = addBookmarkObj.linkText;
    img.src = imgPath;
    a.appendChild(img);
  },
  makeLink:function(parId) {
    if(!document.getElementById || !document.createTextNode) return null;
    parId=((typeof(parId)=='string')&&!isEmpty(parId))
      ?parId:'addBookmarkContainer';
    var cont=document.getElementById(parId);
    if(!cont) return null;
    var a=document.createElement('a');
    a.href=location.href;
    if(window.opera) {
      a.rel='sidebar'; // this makes it work in Opera 7+
    } else {
      // this doesn't work in Opera 7+ if the link has an onclick handler,
      // so we only add it if the browser isn't Opera.
      a.onclick=function() {
        addBookmarkObj.exec(this.href,this.title);
        return false;
      }
    }
    a.title=document.title;
    return cont.appendChild(a);
  },
  exec:function(url, title) {
    // user agent sniffing is bad in general, but this is one of the times 
    // when it's really necessary
    var ua=navigator.userAgent.toLowerCase();
    var isKonq=(ua.indexOf('konqueror')!=-1);
    var isSafari=(ua.indexOf('webkit')!=-1);
    var isMac=(ua.indexOf('mac')!=-1);
    var buttonStr=isMac?'Command/Cmd':'CTRL';

    if(window.external && (!document.createTextNode ||
      (typeof(window.external.AddFavorite)=='unknown'))) {
        // IE4/Win generates an error when you
        // execute "typeof(window.external.AddFavorite)"
        // In IE7 the page must be from a web server, not directly from a local 
        // file system, otherwise, you will get a permission denied error.
        window.external.AddFavorite(url, title); // IE/Win
    } else if(isKonq) {
      alert('You need to press CTRL + D to bookmark our site.');
    } else if(window.opera) {
      void(0); // do nothing here (Opera 7+)
    } else if(window.home || isSafari) { // Firefox, Netscape, Safari, iCab
      alert('You need to press '+buttonStr+' + D to bookmark our site.');
    } else if(!window.print || isMac) { // IE5/Mac and Safari 1.0
      alert('You need to press Command/Cmd + D to bookmark our site.');    
    } else {
      alert('In order to bookmark this site you need to do so manually '+
        'through your browser.');
    }
  }
}

function isEmpty(s){return ((s=='')||/^\s*$/.test(s));}

function dss_addEvent(el,etype,fn) {
  if(el.addEventListener && (!window.opera || opera.version) &&
  (etype!='load')) {
    el.addEventListener(etype,fn,false);
  } else if(el.attachEvent) {
    el.attachEvent('on'+etype,fn);
  } else {
    if(typeof(fn) != "function") return;
    if(typeof(window.earlyNS4)=='undefined') {
      // to prevent this function from crashing Netscape versions before 4.02
      window.earlyNS4=((navigator.appName.toLowerCase()=='netscape')&&
      (parseFloat(navigator.appVersion)<4.02)&&document.layers);
    }
    if((typeof(el['on'+etype])=="function")&&!window.earlyNS4) {
      var tempFunc = el['on'+etype];
      el['on'+etype]=function(e){
        var a=tempFunc(e),b=fn(e);
        a=(typeof(a)=='undefined')?true:a;
        b=(typeof(b)=='undefined')?true:b;
        return (a&&b);
      }
    } else {
      el['on'+etype]=fn;
    }
  }
}

dss_addEvent(window,'load',addBookmarkObj.addTextLink);

// ********************************* End Code for Book Mark*******************************************************

/*****************************
Function name : showOtherOption
Return type : none
Date created : 18th June 2009
Date last modified : 18th June 2009
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to reset the date of a form
User instruction : showOtherOption()
 ************************************/
function showOtherOption(formname)
{
  	if(document.getElementById(formname).frmContactTopic.value == 'Others (Please mention)')
	{
		document.getElementById('OtherTopic').style.display = 'block';
	}
	else
	{
		document.getElementById('OtherTopic').style.display = 'none';
	}
}

/******************************************
Function name : setDecimalValue
Return type : None
Date created : 3 March 2008
Date last modified : 4 March 2008
Author : Prashant Bhardwaj
Last modified by : Prashant Bhardwaj
Comments: Function is used to set decimal values if the value does not contain decimal values it will add .00 the existing value.
User instruction : setDecimalValue(fieldID)
******************************************/
function setDecimalValue(fieldID)
{
     var val = document.getElementById(fieldID).value;
	 if(val != '' )
	 {
		 if(!isNaN(val))
		 {
				 if(val.indexOf(".")<0)
				 {
					  document.getElementById(fieldID).value=val+'.00';
				 }
				else
				{
					var Rate = val.split(".");
					 var Decimal = Rate[1];
					 if(Decimal.length >= 2)
					 {
						document.getElementById(fieldID).value=val;
					 }
					else
					 {
						document.getElementById(fieldID).value=val+'0';
					 }
				}
		 }
	 }
}

function rpValidIntegerWithoutDecimal(myfield, e) 
{
	var key;
 	var keychar;
 	if (window.event) 
 	{
 		key = window.event.keyCode;
 	}           
 	else if (e) 
 	{
 		key = e.which;
 	}           
 	else 
 	{
 		return true;
 	}
	keychar = String.fromCharCode(key);
 	// control keys
	//alert(key);
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==27) ) 
 	{
 		return true;
 	}          
 	// numbers or decimal
	
	if (key == 13) 
	{
		var enteredZipCode = document.getElementById('frmZipCode').value;
		doAjax('ajax_act.php','action=checkTypeUniqueness&enteredZipCode='+enteredZipCode, 'showResponse', 'GET');
		return false;
	}
 	else if( (("0123456789").indexOf(keychar) > -1) ) 
 	{
 		return true;
 	}
 	else 
 	{
 		return false;
 	}
}

/*****************************
Function name : validateEmailSettingsForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailSettingsForm(charToCheck)
************************************/
function validateZipCodeForm(formname)
{
	if(validateForm(formname,'frmZipCode', 'Zip Code', 'RisNumeric'))
	{
		/*document.frm_zipcode.submit();
		return true;*/
		var enteredZipCode = document.getElementById('frmZipCode').value;
		doAjax('ajax_act.php','action=checkTypeUniqueness&enteredZipCode='+enteredZipCode, 'showResponse', 'GET');
		return false;
	}
	else
	{
		return false;
	}
}

function showResponse(item)
{
	var MasterString = getMasterString();
	
	if(item != '')
	{
		if(item == 'Continue')
		{
			document.getElementById('frmZipcodeUniqunessDiv').innerHTML = '';	
			document.getElementById('frm_zipcode').submit();
			return true;
		}
		else
		{
			document.getElementById('frmZipcodeUniqunessDiv').innerHTML = item;	
			return false;
		}
	}
}

/*****************************
Function name : validateEmailSettingsForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailSettingsForm(charToCheck)
************************************/
function validateZipCodeCityForm(formname)
{
		var enteredZipCode = document.getElementById('frmZipCode').value;
		var enteredCity = document.getElementById('frmCitySearch').value;
		//enteredZipCode = trim(enteredZipCode);
		//enteredCity    = trim(enteredCity);
		//alert(enteredZipCode);
		//alert(enteredCity);
		doAjax('ajax_act.php','action=checkTypeUniqueness&enteredZipCode='+enteredZipCode+'&enteredCity='+enteredCity, 'showResponse_1', 'GET');
}

function showResponse_1(item)
{
	var MasterString = getMasterString();
	//alert(item);
	if(item != '')
	{
		if(item == 'Continue')
		{
			document.getElementById('frmZipcodeUniqunessDiv').innerHTML = '';	
			document.getElementById('frm_zipcode').submit();
			return true;
		}
		else
		{
			document.getElementById('frmZipcodeUniqunessDiv').innerHTML = item;	
			return false;
		}
	}
}

/*****************************
Function name : validateEmailSettingsForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailSettingsForm(charToCheck)
************************************/
function validateVenueForm(formname)
{
	var enteredVenue = document.getElementById('frmVenueName').value;
	//alert(enteredVenue);
	doAjax('ajax_act.php','action=checkVenueUniqueness&enteredVenue='+enteredVenue, 'showVenueResponse', 'GET');
}
/*****************************
Function name : showVenueResponse
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : showVenueResponse(charToCheck)
************************************/
function showVenueResponse(item)
{
	var MasterString = getMasterString();
	//alert(item);
	if(item != '')
	{
		if(item == 'Continue')
		{
			document.getElementById('frmVenueUniqunessDiv').innerHTML = '';	
			document.getElementById('frm_venue').submit();
			return true;
		}
		else
		{
			document.getElementById('frmVenueUniqunessDiv').innerHTML = item;	
			return false;
		}
	}
}


/*****************************
Function name : validateEmailSettingsForm
Return type : boolean
Date created : 2 June 2009
Date last modified : 2 June 2008
Author :Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate user forgot password form
User instruction : validateEmailSettingsForm(charToCheck)
************************************/
function validateLocationForm(formname,CountryCode, RegionCode)
{
	if(validateForm(formname,'frmTextBoxAfterLocationSearch', 'Location', 'R'))
	{
		/*document.frm_zipcode.submit();
		return true;*/
		var enteredZipCode = document.getElementById('frmTextBoxAfterLocationSearch').value;
		doAjax('ajax_act.php','action=checkTypeUniquenessLocation&enteredLocation='+enteredZipCode+'&CountryCode='+CountryCode+'&RegionCode='+RegionCode, 'showResponseLocation', 'GET');
		return false;
	}
	else
	{
		return false;
	}
}




function showResponseLocation(item)
{
	var MasterString = getMasterString();
	if(item != '')
	{
		if(item == 'Continue')
		{
			document.getElementById('frmLocationUniqunessDiv').innerHTML = '';	
			document.getElementById('frm_location').submit();
			return true;
		}
		else
		{
			document.getElementById('frmLocationUniqunessDiv').innerHTML = item;	
			return false;
		}
	}
}

/*****************************
Function name : rpValidCharWithoutSpecial
Return type : boolean
Date created : 12 March 2010
Date last modified : 
Author :Prashant Kumar
Last modified by :
Comments : 
User instruction : rpValidCharWithoutSpecial()
************************************/
function rpValidCharWithoutSpecial(myfield, e, argFieldID) 
{
	var key;
 	var keychar;
 	if (window.event) 
 	{
 		key = window.event.keyCode;
 	}           
 	else if (e) 
 	{
 		key = e.which;
 	}           
 	else 
 	{
 		return true;
 	}
	if(key == 13)
	{
		var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
		//alert(document.getElementById(argFieldID).value);
		for (var i = 0; i < document.getElementById(argFieldID).value.length; i++) 
		{
			if (iChars.indexOf(document.getElementById(argFieldID).value.charAt(i)) != -1) 
			{
				alert ("Your location has special characters. These are not allowed.\n Please remove them and try again.");
				return false;
			}
		}
	}	
}


/*****************************
Function name : displayForLocationSearchTextbox
Return type : boolean
Date created : 12 March 2010
Date last modified : 
Author :Prashant Kumar
Last modified by :
Comments : 
User instruction : displayForLocationSearchTextbox()
************************************/
function displayForLocationSearchTextbox()
{
	document.getElementById('frmTextBoxAfterLocationSearch').value = '';
}	

/*****************************
Function name : validateBuyOffer
Return type : none
Date created : 05th Nov 2008
Date last modified : 05th Nov 2008
Author : Charanjeet Singh
Last modified by : Charanjeet Singh
Comments : This function is used to validate the inner page form
User instruction : validateBuyOffer(formname)
************************************/
/*function validateBuyOffer(formname)
{
	var firstName = document.getElementById('frmFirstName').value;
	var lastName = document.getElementById('frmLastName').value;
	var emailAddress = document.getElementById('frmEmailAddress').value;
	var mobileNo = document.getElementById('frmMobileNo').value;
	if(validateForm(formname,'frmFirstName', 'First Name', 'R', 'frmLastName', 'Last Name', 'R', 'frmEmailAddress', 'Email Address', 'RisEmail', 
					'frmMobileNo','Mobile No','R'))
	{  
		return true;
	} 
	else 
	{
		return false;
	}
}*/
/*****************************
Function name : validateReserveOffer
Return type : none
Date created : 17th March 2010
Date last modified : 17th March 2010
Author : Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to validate the inner page form
User instruction : validateReserveOffer(formname)
************************************/
/*function validateReserveOffer(formname)
{
	
	if(validateForm(formname,'frmFirstName', 'First Name', 'R', 'frmLastName', 'Last Name', 'R', 'frmEmailAddress', 'Email Address', 'RisEmail', 
		'frmMobileNo','Mobile No','R'))
	{  
		return true;
	} 
	else 
	{
		return false;
	}
}*/

/*************************FRONT END JS FUNCTION STARTS FROM HERE***************************
/*****************************
Function name : validateBuyerRequestForm
Return type : boolean
Date created :1st june 2009
Date last modified : 
Author : Pankaj Kumar
Last modified by : 
Comments : This function is used to validate user Register Form
User instruction : 
************************************/
function validateBuyOffer(formname)
{	
	var i = 0;
	var j = 0;
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!-]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
	var regChar = /^([a-zA-Z]+)$/;
	var regNumeric = /^([0-9]+)$/; 
	var MasterString = getMasterString();
	var errorString = '';
	var bolfocus = false;
	var regNumeric = /^([0-9]+)$/; 
	var varElementID;
	var invalid = " "; // Invalid character is a space
	var minLength = 6; // Minimum length
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	var regPhoneNumber = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
	var firstName = document.getElementById('frmFirstName').value;
	var lastName = document.getElementById('frmLastName').value;
	var emailAddress = document.getElementById('frmEmailAddress').value;
	var mobileNo = document.getElementById('frmMobileNo').value;
	var quantity = document.getElementById('frmQuantity').value;
	document.getElementById('frmConfirmBuyReserved').value = '';
	if(firstName == 'First Name') 
	{
		errorString += '- First Name is required.\n';	
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmFirstName';	 
		}
	}
	if(lastName == '' || lastName == 'Last Name') 
	{
		errorString += '- Last Name is required.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmLastName';	 
		}
	}
	if(emailAddress == 'Email Address') 
	{
		errorString += '- Email Address is required.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmEmailAddress';	 
		}
	}
	else if(!regEmail.test(emailAddress))
	{
		errorString += '- Email Address must contain a valid e-mail Address.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmEmailAddress';	 
		} 
	}
	if(quantity == '') 
	{
		errorString += '- Quantity is required.\n';
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmQuantity';	 
		}
	}
	if(mobileNo == 'Mobile') 
	{
		errorString += '- Mobile No. is required.\n';
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmMobileNo';	 
		}
	}
	else if(!regPhoneNumber.test(mobileNo))
	{
		errorString += '- Mobile No. must be "xxx-xxx-xxxx" format.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmMobileNo';	 
		} 
	}
	
	/*if(document.getElementById('frmOptInCheckBox').checked == false)
	{
		errorString += '- Opt-in be checked.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmOptInCheckBox';	 
		}
	}*/
	
	if(errorString == '')
	{
		document.getElementById('frmConfirmBuyReserved').value = "Buy";
		return true;  
	}
	else
	{
		alert(MasterString+'\n'+errorString);  
		document.getElementById(varElementID).focus();
		/*if(!bolfocus)
		{
			//varElementID= 'frmFirstName';
			document.getElementById(varElementID).focus();
		}*/
		return false;
	}
}
/*************************FRONT END JS FUNCTION STARTS FROM HERE***************************
/*****************************
Function name : validateBuyerRequestForm
Return type : boolean
Date created :1st june 2009
Date last modified : 
Author : Pankaj Kumar
Last modified by : 
Comments : This function is used to validate user Register Form
User instruction : 
************************************/
function validateReserveOffer(formname)
{	
	var i = 0;
	var j = 0;
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!-]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
	var regChar = /^([a-zA-Z]+)$/;
	var regNumeric = /^([0-9]+)$/; 
	var MasterString = getMasterString();
	var errorString = '';
	var bolfocus = false;
	var regNumeric = /^([0-9]+)$/; 
	var varElementID;
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	var regPhoneNumber = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
	var firstName = document.getElementById('frmFirstName').value;
	var lastName = document.getElementById('frmLastName').value;
	var emailAddress = document.getElementById('frmEmailAddress').value;
	var mobileNo = document.getElementById('frmMobileNo').value;
	var quantity = document.getElementById('frmQuantity').value;
	document.getElementById('frmConfirmBuyReserved').value = '';
	if(firstName == 'First Name') 
	{
		errorString += '- First Name is required.\n';	
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmFirstName';	 
		}
	}
	if(lastName == '' || lastName == 'Last Name') 
	{
		errorString += '- Last Name is required.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmLastName';	 
		}
	}
	if(emailAddress == 'Email Address') 
	{
		errorString += '- Email Address is required.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmEmailAddress';	 
		}
	}
	else if(!regEmail.test(emailAddress))
	{
		errorString += '- Email Address must contain a valid e-mail Address.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmEmailAddress';	 
		} 
	}
	if(quantity == '') 
	{
		errorString += '- Quantity is required.\n';
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmQuantity';	 
		}
	}
	if(mobileNo == 'Mobile') 
	{
		errorString += '- Mobile No. is required.\n';
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmMobileNo';	 
		}
	}
	else if(!regPhoneNumber.test(mobileNo))
	{
		errorString += '- Mobile No. must be "xxx-xxx-xxxx" format.\n';
		if(!bolfocus)
		{
			bolfocus = true; 
			varElementID = 'frmMobileNo';	 
		} 
	}
	if(errorString == '')
	{
		document.getElementById('frmConfirmBuyReserved').value = "Reserved";
		document.frm_buy_or_reserve.action = 'reservation.php';
		document.frm_buy_or_reserve.submit();
		return true;  
	}
	else
	{
		alert(MasterString+'\n'+errorString);  
		document.getElementById(varElementID).focus();
		/*if(!bolfocus)
		{
			//varElementID= 'frmFirstName';
			document.getElementById(varElementID).focus();
		}*/
		return false;
	}
}
function getQuantityValue(qty)
{
	alert(qty);
}


function displayQuantityList()
{
	if(document.getElementById('frmQuantitySelectList').style.display == 'none')
	{
		document.getElementById('frmMainSelectDiv').style.display = 'block';
		document.getElementById('frmQuantitySelectList').style.display = 'block';
	}
	else
	{
		document.getElementById('frmMainSelectDiv').style.display = 'none';
		document.getElementById('frmQuantitySelectList').style.display = 'none';
	}
}

function displayListForSelectionList(argSelectedField)
{
	if(document.getElementById('frmSelectListFor_'+argSelectedField).style.display == 'none')
	{
		document.getElementById('frmMainDivFor_'+argSelectedField).style.display = 'block';
		document.getElementById('frmSelectListFor_'+argSelectedField).style.display = 'block';
	}
	else
	{
		document.getElementById('frmMainDivFor_'+argSelectedField).style.display = 'none';
		document.getElementById('frmSelectListFor_'+argSelectedField).style.display = 'none';
	}
}

function setValueAfterSelection(argSelectedField, argRequirdSelectedValue)
{
	//alert(argRequirdSelectedValue);
	if(argRequirdSelectedValue != '')
	{
		if(argRequirdSelectedValue != ' -- Select -- ')
		{
			if(argSelectedField != 'CardType')
				document.getElementById('frmCard'+argSelectedField).value = argRequirdSelectedValue;
			else 
				document.getElementById('frmCustomer'+argSelectedField).value = argRequirdSelectedValue;
				
			var textForAnchor = document.getElementById('frmAnchorFor_'+argSelectedField+'_'+argRequirdSelectedValue).innerHTML;
			document.getElementById('drop_select_default_'+argSelectedField).innerHTML = textForAnchor;
			
			document.getElementById('firstDefaultOptionFor_'+argSelectedField).style.display = 'block';
		}
		else
		{
			if(argSelectedField != 'CardType')
				document.getElementById('frmCard'+argSelectedField).value = '';
			else 
				document.getElementById('frmCustomer'+argSelectedField).value = '';
				
			document.getElementById('drop_select_default_'+argSelectedField).innerHTML = ' -- Select -- ';
			document.getElementById('firstDefaultOptionFor_'+argSelectedField).style.display = 'none';
		}		
	}
	else
	{
		if(argSelectedField != 'CardType')
				document.getElementById('frmCard'+argSelectedField).value = '';
			else 
				document.getElementById('frmCustomer'+argSelectedField).value = '';
		
		document.getElementById('drop_select_default_'+argSelectedField).innerHTML = '';
		document.getElementById('frmMainDivFor_'+argSelectedField).style.display = 'none';
		if(document.getElementById('frmSelectListFor_'+argSelectedField).style.display == 'none')
			document.getElementById('frmSelectListFor_'+argSelectedField).style.display = 'block';
		else
			document.getElementById('frmSelectListFor_'+argSelectedField).style.display = 'none';
	}
}


function setQuantityValue(argRequirdSelectedValue)
{
	//alert(argRequirdSelectedValue);
	/*	############	OLD VERSION	##############*/
	/*if(argRequirdSelectedValue != '')
	{
		if(argRequirdSelectedValue != ' -- Select -- ')
		{
			var actualOfferPrice = document.getElementById('frmCreatedOfferPrice').value;
			document.getElementById('frmTotalPrice').value = (actualOfferPrice * argRequirdSelectedValue);	
			document.getElementById('frmPostedQuantity').value = argRequirdSelectedValue;
			
			document.getElementById('frmQuantity').value = argRequirdSelectedValue;
			document.getElementById('drop_select_default').innerHTML = argRequirdSelectedValue;
			document.getElementById('firstDefaultOption').style.display = 'block';
		}
		else
		{
			
			document.getElementById('frmCreatedOfferPrice').value = '';
			document.getElementById('frmTotalPrice').value = '';	
			document.getElementById('frmPostedQuantity').value = '';
			
			document.getElementById('frmQuantity').value = '';
			document.getElementById('drop_select_default').innerHTML = ' -- Select -- ';
			document.getElementById('firstDefaultOption').style.display = 'none';
		}		
	}
	else
	{
		document.getElementById('drop_select_default').innerHTML = '';
		document.getElementById('frmMainSelectDiv').style.display = 'none';
		if(document.getElementById('frmQuantitySelectList').style.display == 'none')
			document.getElementById('frmQuantitySelectList').style.display = 'block';
		else
			document.getElementById('frmQuantitySelectList').style.display = 'none';
	}*/
	/*	############	NEW VERSION	##############*/
	var selectedValue = document.getElementById('frmQuantity').value;
	//alert(selectedValue)
	if(selectedValue != '')
	{
		var actualOfferPrice = document.getElementById('frmCreatedOfferPrice').value;
		document.getElementById('frmTotalPrice').value 		= 	(actualOfferPrice * selectedValue);	
		document.getElementById('frmPostedQuantity').value 	= 	selectedValue;
	}
	else
	{
		document.getElementById('frmTotalPrice').value 		= 	0.00;	
		document.getElementById('frmPostedQuantity').value 	= 	'';
	}
	
}

function setQuantityValueWithTotalPrice(argRequirdSelectedValue)
{
	/*	############	OLD VERSION	##############*/
	//alert(argRequirdSelectedValue);
	/*if(argRequirdSelectedValue != '')
	{
		if(argRequirdSelectedValue != ' -- Select -- ')
		{
			//alert("IN IF")
			document.getElementById('frmQuantity').value = argRequirdSelectedValue;
			document.getElementById('drop_select_default').innerHTML = argRequirdSelectedValue;
			document.getElementById('firstDefaultOption').style.display = 'block';
			
			var varUnitPrice = document.getElementById('frmUnitPrice').value;
			var varTotalPrice = parseInt(argRequirdSelectedValue) * parseFloat(varUnitPrice);
			varTotalPrice = varTotalPrice.toFixed(2);
			
			if(argRequirdSelectedValue != '--')
			{
				document.getElementById('frmTotalPriceDiv').innerHTML = '$ '+varTotalPrice;
			}
			else
			{
				document.getElementById('frmTotalPriceDiv').innerHTML = '$ 0.00';
			}			
			document.getElementById('frmTotalPrice').value = varTotalPrice;
		}
		else if(argRequirdSelectedValue != '--')
		{	
			//alert("IN ELSE IF")
			document.getElementById('frmQuantity').value = argRequirdSelectedValue;
			document.getElementById('drop_select_default').innerHTML = argRequirdSelectedValue;
			document.getElementById('firstDefaultOption').style.display = 'block';
			
			var varUnitPrice = document.getElementById('frmUnitPrice').value;
			var varTotalPrice = parseInt(argRequirdSelectedValue) * parseFloat(varUnitPrice);
			varTotalPrice = varTotalPrice.toFixed(2);
			
			document.getElementById('frmTotalPriceDiv').innerHTML = '$ '+varTotalPrice;
			document.getElementById('frmTotalPrice').value = varTotalPrice;
		}
		else
		{
			//alert("IN ELSE")
			document.getElementById('frmQuantity').value = '';
			document.getElementById('drop_select_default').innerHTML = ' -- Select -- ';
			document.getElementById('firstDefaultOption').style.display = 'none';
			
			var varUnitPrice = document.getElementById('frmUnitPrice').value;
			var varTotalPrice = varUnitPrice;
			//varTotalPrice = varTotalPrice.toFixed(2);
			document.getElementById('frmTotalPriceDiv').innerHTML = '$ '+varTotalPrice;
			document.getElementById('frmTotalPrice').value = varTotalPrice;
			
		}		
	}
	else
	{
		document.getElementById('drop_select_default').innerHTML = '';
		document.getElementById('frmMainSelectDiv').style.display = 'none';
		if(document.getElementById('frmQuantitySelectList').style.display == 'none')
			document.getElementById('frmQuantitySelectList').style.display = 'block';
		else
			document.getElementById('frmQuantitySelectList').style.display = 'none';
		
		var varUnitPrice = document.getElementById('frmUnitPrice').value;
		var varTotalPrice = varUnitPrice.toFixed(2);
		document.getElementById('frmTotalPriceDiv').innerHTML = '$ '+varTotalPrice;
		document.getElementById('frmTotalPrice').value = varTotalPrice;	
	}*/
	
	/*	############	NEW VERSION	##############*/
	
	
	if(document.getElementById('frmQuantity'))
		var selectedValue = document.getElementById('frmQuantity').value;
	else
		var selectedValue = document.getElementById('frmPostedQuantity').value;
	//alert(selectedValue)
	if(selectedValue != '')
	{
		var varUnitPrice = document.getElementById('frmUnitPrice').value;
		var varTotalPrice = parseInt(selectedValue) * parseFloat(varUnitPrice);
		varTotalPrice = varTotalPrice.toFixed(2);
		
		if(argRequirdSelectedValue != '--')
		{
			document.getElementById('frmTotalPriceDiv').innerHTML = '$ '+varTotalPrice;
		}
		else
		{
			document.getElementById('frmTotalPriceDiv').innerHTML = '$ 0.00';
		}	
		
		document.getElementById('frmTotalPrice').value = varTotalPrice;
	}
	else
	{
		document.getElementById('frmTotalPrice').value 		= 	0.00;	
		document.getElementById('frmTotalPriceDiv').innerHTML = '$ 0.00';
	}
}


/*****************************
Function name : showOtherOption
Return type : none
Date created : 18th June 2009
Date last modified : 18th June 2009
Author : Pankaj Kumar
Last modified by : Pankaj Kumar
Comments : This function is used to reset the date of a form
User instruction : showOtherOption()
 ************************************/
function hideGoogleTooltip()
{
	document.getElementById('maptooltip').style.display = 'none';
}
function showTooltipOption()
{
	document.getElementById('buytooltip').style.display = 'block';
	//document.getElementById('innertooltip').innerHTML = item;	
}
function hideTooltipOption()
{
	document.getElementById('buytooltip').style.display = 'none';
}
function showHomePageTooltipOption()
{
	document.onmousemove=getPosition;
	var cursor = getPosition;
	//alert(cursor.x);
	document.getElementById('reservetooltip').style.display = 'block';
}
function hideHomePageTooltipOption()
{
	document.getElementById('reservetooltip').style.display = 'none';
}

 function getPosition(e) {
	e = e || window.event;
	var cursor = {x:0, y:0};
	if (e.pageX || e.pageY) {
	cursor.x = e.pageX;
	cursor.y = e.pageY;
	//alert(cursor.x);
  }
  else {
	cursor.x = e.clientX +
	(document.documentElement.scrollLeft ||	document.body.scrollLeft) -	document.documentElement.clientLeft;
	cursor.y = e.clientY +
	(document.documentElement.scrollTop ||	document.body.scrollTop) -	document.documentElement.clientTop;
  }
  document.getElementById('reservetooltip').style.top = cursor.x;
  //alert(cursor.x);
  return cursor.x;
  }
function rpValidIntegerWithoutDecimal(myfield, e) 
{
	var key;
 	var keychar;
 	if (window.event) 
 	{
 		key = window.event.keyCode;
 	}           
 	else if (e) 
 	{
 		key = e.which;
 	}           
 	else 
 	{
 		return true;
 	}
	keychar = String.fromCharCode(key);
 	// control keys
 	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) 
 	{
 		return true;
 	}           
 	// numbers or decimal
 	else if( (("0123456789-").indexOf(keychar) > -1) ) 
 	{
 		return true;
 	}
 	else 
 	{
 		return false;
 	}
}  
function checkNumeric() 
{
	var textValue = document.getElementById('frmZipCode').value;
	//alert(textValue);
	var regNumeric = /^([0-9]+)$/;
	if(!regNumeric.test(textValue) ) 
 	{
		//alert("Car");
 		return false;
 	}
 	else 
 	{
 		return true;
 	}
}  
function printDiv()
{
  var divToPrint=document.getElementById('DivIdToPrint');
  var newWin=window.open('','Print-Window','width=100,height=100');
  newWin.document.open();
  newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
  newWin.document.close();
  setTimeout(function(){newWin.close();},10);
}

function displayCVV()
{
	if(document.getElementById('cvvToolTip').style.display == 'none')
		document.getElementById('cvvToolTip').style.display = 'block';
	else
		document.getElementById('cvvToolTip').style.display = 'none';
}
function setEventCategory(catid)
{
	 if(catid != '')
	 {
		 location.replace('index.php?catID='+catid);
	 }
	else
	{
		 location.replace('index.php');
	}
}

function setEventCategoryLastMinute(catid)
{
	 if(catid != '')
	 {
		 location.replace('last_minute_offer.php?catID='+catid);
	 }
	else
	{
		 location.replace('last_minute_offer.php');
	}
}

function setVenueEventCategory(catid, venueid)
{
	if(catid != '')
	{
		 location.replace('venue_detail.php?venuID='+venueid+'&catID='+catid);
	}
	else
	{
		 location.replace('venue_detail.php?venuID='+venueid);
	}
}
function setCountryVenue(countryID)
{
	if(countryID != '')
	{
		 location.replace('venue_list.php?countryID='+countryID);
	}
	else
	{
		 location.replace('venue_list.php');
	}
}


function setEventCategorySearch(catid)
{
alert(document.getElementById('frm_EventcategorySearch'));
	alert(catid);
	document.getElementById('frm_EventcategorySearch').submit();
	/* if(catid != '')
	 {
		 location.replace('search.php?catID='+catid);
	 }
	else
	{
		 location.replace('search.php');
	}*/
}


/*****************************
Function name : validateContactForm
Return type : boolean
Date created : 5 May 2010
Date last modified : 
Author : Prashant Kumar
Last modified by :
Comments : 
User instruction : validateContactForm((formname)
************************************/
function validateContactForm(formname)
{   
	if(validateForm(formname, 'frmContactName', 'Name', 'R', 'frmContactEmailID', 'Email', 'RisEmail', 'frmContactQueryType', 'Subject', 'R', 'frmContactMassage', 'Massage', 'R', 'frmSecurityCode', 'Verification Code', 'R'))
	{
		return true;
	} 
	else 
	{
		return false;
	} 
}

function clickedOfferProcess(argSelectedOfferRowID, argType, argOfferType)
{
	if(argType == 'Manually')
	{
		var selectedOfferID 		= 	argSelectedOfferRowID
		var selectedOfferQuantity 	= 	document.getElementById('frmTicketQuantity_'+argSelectedOfferRowID).value;
		if(selectedOfferQuantity != '')
		{
			if(argOfferType == 'Buy')
			{
				//location.href = 'buy_offer.php?OfferID='+selectedOfferID+'&OfferQuantityID='+selectedOfferQuantity;
				
				location.href = 'offer_checkout.php?AVESEQOFFER='+selectedOfferID+'&AVESEQQUAN='+selectedOfferQuantity;
			}
			else
			{
				//location.href = 'reserve_offer.php?OfferID='+selectedOfferID+'&OfferQuantityID='+selectedOfferQuantity;
				location.href = 'reserve_checkout.php?AVESEQOFFER='+selectedOfferID+'&AVESEQQUAN='+selectedOfferQuantity;
			}			
		}
		else
		{
			var errors = ' - Ticket Quantity is required.';
			var MasterString = getMasterString();
			alert(MasterString+'\n'+errors);
			return false;
			
		}
	}
	else
	{
		var selectedOfferID 		= 	argSelectedOfferRowID
		var selectedOfferQuantity 	= 	document.getElementById('frmTicketQuantity_'+argSelectedOfferRowID).value;
		if(selectedOfferQuantity != '')
		{
			var sessionID = makeSessionId();
			var gid = document.getElementById('frmTicketNetworkOfferID_'+argSelectedOfferRowID).value;
			var evtid = document.getElementById('frmTicketNetworkEventID_'+argSelectedOfferRowID).value;
			var price = document.getElementById('frmTicketNetworkOfferPrice_'+argSelectedOfferRowID).value;
			
			//location.href = 'https://tickettransaction2.com/Checkout.aspx?brokerid=3786&sitenumber=1&tgid='+gid+'&evtid='+evtid+'&price='+price+'&treq='+selectedOfferQuantity+'&SessionId='+sessionID;
			window.open('https://tickettransaction2.com/Checkout.aspx?brokerid=3786&sitenumber=1&tgid='+gid+'&evtid='+evtid+'&price='+price+'&treq='+selectedOfferQuantity+'&SessionId='+sessionID);
		}
		else
		{
			var errors = ' - Ticket Quantity is required.';
			var MasterString = getMasterString();
			alert(MasterString+'\n'+errors);
			return false;
			
		}
	}	
	
}

function makeSessionId() 
{
	var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'; 
	var sid_length = 5;
	var sid = '';
	for (var i=0; i<sid_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		sid += chars.substring(rnum,rnum+1);
	}
	return sid;
}
