/*
#########################################################################################

	Validation Script Version - 1.0

	Written By	 			: Gagan Bagga
	Last Updated On 		: 16-Aug-2005
	Purpose					: To validate the form elements
	Functions & Parameters	: 

		Name of the Function		Parameters							Return Type

	1.	validate_form()				Referernce of the form				Boolean
	2.	lr_trim()														String
	3.	chkSplCharacters()			Reference of an text element	
	4.	chkSplFormat()				Reference of an text element

#########################################################################################
*/ 

var bValid = 1;
var intCheckBoxSelected = 0;

function lr_trim()
{
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
}
String.prototype.trim = lr_trim;

function chkSplCharacters1(cntrl)
{
	var discardChars = "<";
	var discardChars1 = ">";
	var splChars = "`~!@#$%^&*():;";
	var splCharCounter = 0;


	//cntrl.value = cntrl.value.replace("/""/","&quot;");
//	cntrl.value = cntrl.value.replace(/'/,"&apos;");
//	cntrl.value = cntrl.value.replace(/,/,"&apos;");
    for (var i = 0; i < cntrl.value.length; i++)
    {   //alert(cntrl.value.charAt(i));
        
		if (discardChars.indexOf(cntrl.value.charAt(i)) != -1)
		{
    		var spchar1=cntrl.value.charAt(i)
	    	 cntrl.value=cntrl.value.replace(spchar1,'');
        }
         if (discardChars1.indexOf(cntrl.value.charAt(i)) != -1)
		{
    		var spchar2=cntrl.value.charAt(i)
	    	 cntrl.value=cntrl.value.replace(spchar2,'');
        }


        if (splChars.indexOf(cntrl.value.charAt(i)) != -1)
        {
                var spchar=cntrl.value.charAt(i)
                cntrl.value=cntrl.value.replace(spchar,'');
        }
	}
}
function chkSplCharacters(cntrl)
{
	var discardChars = "<";
	var discardChars1 = ">";
	

    for (var i = 0; i < cntrl.value.length; i++)
    {   //alert(cntrl.value.charAt(i));
        
		if (discardChars.indexOf(cntrl.value.charAt(i)) != -1)
		{
    		var spchar1=cntrl.value.charAt(i)
	    	 cntrl.value=cntrl.value.replace(spchar1,'');
        }
         if (discardChars1.indexOf(cntrl.value.charAt(i)) != -1)
		{
    		var spchar2=cntrl.value.charAt(i)
	    	 cntrl.value=cntrl.value.replace(spchar2,'');
        }
      
	}
}



function chk(cbox)
 {
	
	var cname = cbox.tagName;
	
	if (cname=="SPAN")
	{
		if(cbox.childNodes(0).checked)
		{
			intCheckBoxSelected++;
		}
		else
		{
			intCheckBoxSelected--;
		}
	}
	else if (cname=="INPUT")
	{
		if(cbox.checked)
		{
			intCheckBoxSelected++;
		}	
		else
		{
			intCheckBoxSelected--;
		}
	}
	//alert(intCheckBoxSelected)
 }


function checkDelete(p_strDatagridId, p_strCheckBoxName, p_strMessage)
{
	var flg = 0;
	var objtbl = document.getElementById(p_strDatagridId);
	var RowID = objtbl.rows.length;
	try
	{
		if(intCheckBoxSelected >0)
		{
			flg =1;
		}
	}
	catch(e)
	{
		flg = 0
	}
	if(flg == 0)
	{
		if (p_strMessage == "" )  
		p_strMessage =  "You must select at least one item to be deleted."; 
		Alert(p_strMessage);
		return false;	
	}
	else 
	{	
	    return confirm("Are you sure you want to delete selected items ? ");
	}
}



function chkSplFormat(cntrl)
{
	var format = cntrl.getAttribute("format").toLowerCase();	
	switch(format)
	{
		case 'email':
			var addr = cntrl.value;
			var addr_array = addr.split(",");
			var iCurrPos =0;
			if (addr_array.length > 1)
			{
				for (var iCtr = 0; iCtr < addr_array.length; iCtr++)
				{
					if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(addr_array[iCtr].trim()))
					{
						//Alert("Invalid email adderss,\n as it is not in the correct format: xxx@xxx.xxx");
						//Alert("Please enter a valid Email Address");
						inlineMsg(cntrl.getAttribute("id"),'Please enter a valid ' + cntrl.getAttribute("label")+ '.' ,2)
						var oRange = cntrl.createTextRange();
						var iPos = addr.indexOf(addr_array[iCtr].trim(), iCurrPos);
						oRange.moveStart("character", iPos);
						oRange.moveEnd("character", (iPos + addr_array[iCtr].trim().length) - addr.length);
						oRange.select();
						bValid = 0;
						break;					
					}
					iCurrPos += addr_array[iCtr].length;
				}
			}
			else
			{
				if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(addr))
				//if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/.test(addr))
				{
					//Alert("Your email address does not look correct: xxx@xxx.xxx\nPlease check and try again");
					//Alert("Please enter a valid Email Address");
					inlineMsg(cntrl.getAttribute("id"),'Please enter a valid ' + cntrl.getAttribute("label")+ '.' ,2)
					cntrl.select();
					bValid = 0;
				}
			}
			break;
		case 'url':
			var url = cntrl.value;
			if (!/^http[s]*\:\/\/[wW]{3}\.+[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}.*$|^http[s]*\:\/\/[^w]{3}[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}.*$|http[s]*\:\/\/[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}.*$/.test(url))
			//if (!/^(ftp|https?):\/\/(www\.)?[a-z0-9\-\_\.]{3,}\.[a-z]{2,6}(\/)?([a-z0-9\-\#\%\&\.\?\=])+$/.test(url))
			{
				//Alert("This is not a valid url,\n as it is not in the correct format: http://www.xxxxxx.xxx");
				inlineMsg(cntrl.getAttribute("id"),'This is not a valid url,\n as it is not in the correct format: http://www.xxxxxx.xxx' ,2)
				cntrl.select();
				bValid = 0;
			}
			break;		
		case 'phone/fax':
			var phoneFax = cntrl.value;
			if (cntrl.getAttribute("country") != null)
			{
				var country = cntrl.getAttribute("country").toUpperCase();
				switch (country)
				{
					case 'UK' :
						if (!/^0[1|2|7]{1}[0-9\s]{9,12}/i.test(phoneFax))
						{
							Alert("Please enter a valid " + cntrl.getAttribute("label") + " to a UK number beginning with 01, 02 or 07");
							//inlineMsg(cntrl.getAttribute("id"),'Please enter a valid ' + cntrl.getAttribute("label") + ' to a UK number beginning with 01, 02 or 07' ,2)
							cntrl.select();
							bValid = 0;						
						}
						break;
				}
			}
			else
			{
				var validChars = ", +-()0123456789";
				for(i=0;i < phoneFax.length;i++)
				{
					if(validChars.indexOf(phoneFax.charAt(i)) == -1)
					{
						//Alert("Please enter a valid " + cntrl.getAttribute("label"));
						inlineMsg(cntrl.getAttribute("id"),'Please enter a valid ' + cntrl.getAttribute("label") ,2)
						cntrl.select();
						bValid = 0;
						break;
					}
				}
			}
			break;
		case 'postcode' :
			var postCode = cntrl.value;			
			if (!/^[a-pr-uwyz]((\d{1,2})|([a-hk-y]\d{1,2})|(\d[a-hjks-uw])|([a-hk-y]\d[abehmnprv-y]))\s{0,1}\d[abd-hjlnp-uw-z]{2}$/i.test(postCode))
			{
				inlineMsg(cntrl.getAttribute("id"),'Please enter a valid Postcode' + cntrl.getAttribute("label") ,2)
				cntrl.select();
				bValid = 0;
				return false;
			}
			break;
		case 'numeric' :
			var val = cntrl.value;
			var data_type = cntrl.getAttribute("data-type").toLowerCase();
			switch (data_type)
			{
				case 'int':
					if(!/^(\+|-)?\d+$/.test(cntrl.value))
					{
						//Alert("Please enter only numeric value for " + cntrl.getAttribute("label"));
						inlineMsg(cntrl.getAttribute("id"),'Please enter only numeric value for ' + cntrl.getAttribute("label") ,2)
						cntrl.select();
						bValid = 0;
					}
					break;
				case 'unsigned int' :
					if(!/^\d+$/.test(cntrl.value))
					{
						Alert("Please enter only digits for " + cntrl.getAttribute("label"));
						//inlineMsg(cntrl.getAttribute("id"),'Please enter only digits for ' + cntrl.getAttribute("label") ,2)
						cntrl.select();
						bValid = 0;
					}				
					break;
				case 'decimal':
					if(!/^-{0,1}\d*\.{0,1}\d+$/.test(cntrl.value))
					{
						Alert("Please enter only numeric value for " + cntrl.getAttribute("label"));
						//inlineMsg(cntrl.getAttribute("id"),'Please enter only numeric value for ' + cntrl.getAttribute("label") ,2)
						cntrl.select();
						bValid = 0;
					}
					break;
				case 'unsigned decimal' :
					if(!/^\d*\.{0,1}\d+$/.test(cntrl.value))
					{
						Alert("Please enter only digits for " + cntrl.getAttribute("label"));
						//inlineMsg(cntrl.getAttribute("id"),'Please enter only digits for ' + cntrl.getAttribute("label") ,2)
						cntrl.select();
						bValid = 0;
					}				
					break;					
			}
			if(data_type.indexOf('unsigned') > 0 && val < 0)
			{
				Alert("Negative value is not allowed for " + cntrl.getAttribute("label"));
				//inlineMsg(cntrl.getAttribute("id"),'Negative value is not allowed for ' + cntrl.getAttribute("label") ,2)
				cntrl.select();
				bValid = 0;
			}
			if(cntrl.getAttribute("zero-allowed") == null && val == 0)
			{
				Alert("Zero (0) value is not allowed for " + cntrl.getAttribute("label"));
				//inlineMsg(cntrl.getAttribute("id"),'Zero (0) value is not allowed for ' + cntrl.getAttribute("label") ,2)
				cntrl.select();
				bValid = 0;
			}
			break;
		case 'text' :		    
			var val = cntrl.value;
			if(!/^[a-z][-a-z0-9 ]+$/i.test(cntrl.value))
			{
				Alert("Please enter your " + cntrl.getAttribute("label") + " correctly (with alphabetic characters)");
				//inlineMsg(cntrl.getAttribute("id"),'Please enter your ' + cntrl.getAttribute("label") + ' correctly (with alphabetic characters)' ,2)
				cntrl.select();
				bValid = 0;
			}
			break;
		case 'date' :
			var dtTargetDate = new Date(cntrl.value.replace(/-/g, " "));
			if(cntrl.getAttribute("discard-past-dates") != null && dtTargetDate <= new Date())
			{
				Alert("Please select a valid future date for " + cntrl.getAttribute("label"));
				//inlineMsg(cntrl.getAttribute("id"),'Please select a valid future date for ' + cntrl.getAttribute("label") ,2)
				cntrl.select();
				bValid = 0;
			}			
			break;			
		case 'username/password':
			var splChars = " ";
			for (var i = 0; i < cntrl.value.length; i++)
			{
				if (splChars.indexOf(cntrl.value.charAt(i)) != -1)
				{
					Alert ("Blank spaces are allowed for " + cntrl.getAttribute("label"));
					//inlineMsg(cntrl.getAttribute("id"),'Blank spaces are allowed for ' + cntrl.getAttribute("label") ,2)
					cntrl.select();
			        bValid = 0;
			        break;
			    }
			}
	}
}

function doComparision(cntrl1, cntrl2)
{
	if(cntrl1.value != cntrl2.value)
	{
		//Alert("\"" + cntrl2.getAttribute("label") + "\" and \"" + cntrl1.getAttribute("label") + "\" do not match");
		inlineMsg(cntrl2.getAttribute("id"),cntrl2.getAttribute('label') + ' and ' + cntrl1.getAttribute('label') + ' do not match' ,2)
		cntrl1.value="";
		cntrl2.value="";
		cntrl2.focus();
		bValid = 0;
	}
}

function validate_file(oFile)
{ 
	var vFileName = oFile.value.trim();
	if (vFileName == "")
		return false;
	iDotPos = vFileName.lastIndexOf(".")
	if(iDotPos <= 0)
	{
		//Alert("You must specified the valid value for the field \"" + oFile.getAttribute("label") + "\"");
		//inlineMsg(oFile.getAttribute("id"),"You must specified the valid value for the field \"" +  + oFile.getAttribute("label") + "\"" ,2)
		oFile.focus();
		bValid = 0;
		return false;
	}
	else
	{
		if(oFile.getAttribute("filter") != null)
		{  
			var aValidFileTypes = oFile.getAttribute("filter").split("/");
			var bValidFile = false;
			for(var ctr = 0; ctr < aValidFileTypes.length; ctr++)
			{
				var vFileExt = vFileName.substring(iDotPos);
				
				if(vFileExt.toLowerCase() == aValidFileTypes[ctr])
				{ 
				
				 
					bValidFile = true; break;
				}
				
			}
			if(!bValidFile)
			{
				
				///Alert("System allows only the following file types\n\n{" + oFile.getAttribute("filter") + "}");
				inlineMsg(oFile.getAttribute("id"),"System allows only the following file types\n\n{" + oFile.getAttribute("filter") + "}" ,2)
				oFile.focus();
				bValid = 0;
				return false;
			}
		}
	}
	return true;
}

function validate_form(oFrm)
{
	var aElements = oFrm.elements;	
	bValid = 1;
	for(var i=0;i < aElements.length;i++)
	{
		if(!(aElements[i].disabled || aElements[i].getAttribute("with-no-check") != null || aElements[i].type == "button" || aElements[i].type == "submit"))
		{
			if(aElements[i].type=="text" || aElements[i].type=="password")
			{
				if(aElements[i].type != "password")
					aElements[i].value = aElements[i].value.trim();
				if(aElements[i].value.length == 0 || (aElements[i].getAttribute("null-value") != null && aElements[i].getAttribute("null-value").toLowerCase() == aElements[i].value.toLowerCase()))
				{
					if(aElements[i].getAttribute("required") != null)
					{
						//alert('hi');
						//alert("Please enter " + aElements[i].getAttribute("label"));
						//aElements[i].focus();
						inlineMsg(aElements[i].id,'Please enter ' + aElements[i].getAttribute("label")+ '.' ,2)
						bValid = 0;
					}
				}
				if(aElements[i].value.length > 0)
				{
				    if(aElements[i].getAttribute("nospace") != null)
						chkSpace(aElements[i]);
					if(aElements[i].getAttribute("format") == null)
						chkSplCharacters(aElements[i]);
					else if(aElements[i].getAttribute("format").toLowerCase() != "none")
					{
						if(aElements[i].getAttribute("default") != null)
						{
							if(aElements[i].value.toLowerCase() != aElements[i].getAttribute("default").toLowerCase())
								chkSplFormat(aElements[i]);
						}
						else
							chkSplFormat(aElements[i]);
					}
					if(aElements[i].getAttribute("compareWith") != null && bValid==1)
					{
					    doComparision(aElements[i], eval(aElements[i].getAttribute("compareWith")));
					    
					}
					
					if(aElements[i].type == "textarea" && aElements[i].getAttribute("maxlength") != null && bValid==1)
					if(aElements[i].value.length > aElements[i].getAttribute("maxlength"))
					{
						alert(aElements[i].getAttribute("label") + " should not exceed the maximum length of " + aElements[i].getAttribute("maxlength") + " characters.");
						aElements[i].focus();
						bValid = 0;
					}
					if(aElements[i].getAttribute("minlength") != null && bValid==1)
					{
						if(aElements[i].value.length < aElements[i].getAttribute("minlength"))
						{
							Alert("You have not entered the minimum required text (" + aElements[i].getAttribute("minlength") + " characters) for " + aElements[i].getAttribute("label") + "\nPlease edit your entry and re-submit");							
							aElements[i].focus();
							bValid = 0;
						}
					}
					
				}
			}
			else if(aElements[i].type == "textarea")
			{
				var iframe = false;
				if (document.all)
				{
					var editor_obj = eval(document.all["_" + aElements[i].name + "_editor"]);
					if (typeof(editor_obj) == "object")
						if (editor_obj.tagName.toLowerCase() == 'iframe')
							iframe = true;
				}
				else
				{
					var editor_obj = document.getElementsByTagName("_" + aElements[i].name + "_editor");
					if (typeof(editor_obj) == "object" && editor_obj.length != 0)
						if (editor_obj.tagName.toLowerCase() == 'iframe')
							iframe = true;	
				}
				if (iframe)
				{
					var editdoc = editor_obj.contentWindow.document;
					var contents = editdoc.body.createTextRange().htmlText;
					if (contents.length == 0 && aElements[i].getAttribute("required") != null)
					{
						//Alert("Please enter " + aElements[i].getAttribute("label"));
						inlineMsg(aElements[i].id,'Please enter ' + aElements[i].getAttribute("label")+ '.' ,2)
						editor_obj.focus();
						bValid = 0;
					}
					else if (contents.length > aElements[i].getAttribute("maxlength"))
					{
						//Alert(aElements[i].getAttribute("label") + " should not exceed the maximum length of " + aElements[i].getAttribute("maxlength") + " characters");
						inlineMsg(aElements[i].id,aElements[i].getAttribute("label")+  + ' should not exceed the maximum length of ' + aElements[i].getAttribute("maxlength") + ' characters' ,2)
						editor_obj.focus();
						bValid = 0;
					}
				}
				else
				{
				    if(aElements[i]!=null)
				    {
				        if (aElements[i].value.replace(/ /g,"").length == 0 && aElements[i].getAttribute("required") != null)
					    {
						    //Alert("Please enter " + aElements[i].getAttribute("label"));
						    inlineMsg(aElements[i].id,'Please enter ' + aElements[i].getAttribute("label")+ '.' ,2)
						    aElements[i].focus();
						    bValid = 0;
					    }
					    else if(aElements[i].value.replace(/ /g,"").length > aElements[i].getAttribute("maxlengths"))
					    {
					        inlineMsg(aElements[i].id,aElements[i].getAttribute("label") + ' should not exceed the maximum length of ' + aElements[i].getAttribute("maxlengths"),2)
						    aElements[i].focus();
						    bValid = 0;
					    }		    
				    }
				}
			}
			else if(aElements[i].type=="file")
			{
//				if(aElements[i].value.trim() == "")
//				{
//					if(aElements[i].getAttribute("required") != null)
//					{
//						//Alert("Please select " + aElements[i].getAttribute("label"));
//						inlineMsg(aElements[i].id,'Please enter ' + aElements[i].getAttribute("label")+ '.' ,2)
//						aElements[i].select();
//						bValid = 0;
//					}
//				}
//				else
//				{
//					validate_file(aElements[i]);
//				}
                if(aElements[i].getAttribute("checkonpreview")!= null)
	            {	        
	                if(document.getElementById(aElements[i].getAttribute("checkonpreview")).value=='')
	                    {
				            
				            if(aElements[i].value.trim() == "")
				            {
					            if(aElements[i].getAttribute("required") != null)
					            {  
						            //Alert("Please select " + aElements[i].getAttribute("label"));
						            inlineMsg(aElements[i].id,'Please ' + aElements[i].getAttribute("label")+ '.' ,2)
						            aElements[i].select();
						            bValid = 0;
					            }
				            }
				            else
				            {
					           
					            validate_file(aElements[i]);
				            }
				        }
				        else
				        {
				           validate_file(aElements[i]);
				        }
				}
			}
			else if(aElements[i].type == "select" || aElements[i].type == "select-one") // If it is a combox box
			{
				if(aElements[i][aElements[i].selectedIndex].value=="0" && aElements[i].getAttribute("required") != null)
				{
					//Alert("Please select " + aElements[i].getAttribute("label") + " from the list");
					inlineMsg(aElements[i].id,'Please select ' + aElements[i].getAttribute("label")+ ' from the list' ,2)
					aElements[i].focus();
					bValid = 0;
				}
				if(aElements[i][aElements[i].selectedIndex].value!="0" && aElements[i].getAttribute("checkStates") != null)				
				{
				    ckeckStatesValidation(aElements[i]);				    
				}
			}
			else if(aElements[i].type == "select-multiple") // If it is a list box
			{
				if(aElements[i].length==0 && aElements[i].getAttribute("required") != null)
				{
					Alert("Please enter \"" + aElements[i].getAttribute("label") + "\"");
					//inlineMsg(aElements[i].id,'Please enter \" ' + aElements[i].getAttribute("label")+ '\""' ,2)
					aElements[i].focus();
					bValid = 0;
				}
			}
			else if(aElements[i].type == "radio") // If it is a radio button
			{
				var objRadioGroup = oFrm.elements[aElements[i].name];
				var bChecked = false;
				if (objRadioGroup.length == null)
				{
					if (objRadioGroup.checked)
						bChecked = true;
				}
				else
				{
					for(var j=0; j< objRadioGroup.length; j++)
					{
						if(objRadioGroup[j].checked)
						{
							bChecked = true;
							break;
						}
					}
				}
				if(!bChecked && aElements[i].getAttribute("required") != null)
				{
					//Alert("Please select " + aElements[i].getAttribute("label"));
					inlineMsg(aElements[i].id,'Please select ' + aElements[i].getAttribute("label")+ '.' ,2)
					aElements[i].focus();
					bValid = 0;
				}
			}
		}
		if(!bValid) 
			return false;
	}
	return true;
}
function Alert(arg)
{
    document.getElementById("CPHolderAdmin_msg_div").innerHTML = arg;
}
function chkSpace(strValue)
{
    var objRegExp
    objRegExp = new RegExp(/\s+/g)
    if(!objRegExp.test(strValue.value))
    {
        bValid = 1;
    }
    else
    {
        Alert('No space is allowed in '+strValue.getAttribute("label"));
        bValid = 0;
    }
}
function ckeckStatesValidation(arg)
{
    if(arg.options[arg.options.selectedIndex].text.toUpperCase()  == 'INDIA')
    {
        if(document.getElementById('CPHolderAdmin_cmbState').value == 0)
            //Alert("Please select State from the list");
            inlineMsg('CPHolderAdmin_cmbState','Please select State from the list' ,2)
            bValid = 0;
    }
    else
    {
        if(document.getElementById('CPHolderAdmin_txtOther').value.replace(/ /g,"") == '')
        {
            //Alert("Please enter Other");
            inlineMsg('CPHolderAdmin_txtOther','Please enter Other' ,2)
            bValid = 0;
        }   
    }
}

//***************************************************************************888//

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) 
{
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) 
  {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;    
  } 
  else 
  {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;  
  msg.style.display = 'block';
  
  var msgheight = msg.offsetHeight;  
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  msgarrow = new Image(7,80);
  msgarrow.src = "../Images/msg_arrow.gif";
}


/* Script Check Valid Email for Forget Password  */
function checkEmail()
{
    var email = document.getElementById('txtEmail');
    if(email.value=="")
    {
        inlineMsg(email.id,'Please enter Email ID.' ,2);
        email.focus();
        return false;
    }
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email.value)) 
    {        
        inlineMsg(email.id,'Please enter valid Email ID.' ,2);
        email.focus();
        return false;
    }
    return true;
}

/* Script Select/UnSelect all CheckBox for List Page  */

  function fnCheckAll(arg)
    {
        for(var i=0;i<document.forms[0].elements.length;i++)
        { 
            if(document.forms[0].elements[i].type == 'checkbox')
            {
                if(arg.checked)
                    document.forms[0].elements[i].checked = true;
                else
                    document.forms[0].elements[i].checked = false;
            }
        } 
    }
    
    /* Script FCK Editor Validation  */
 function FCKValidation()
 {
     var oEditor = FCKeditorAPI.GetInstance('ctl00_CPHolderAdmin_FCKeditor1') ;					
    var sTemp1 = oEditor.EditorDocument.body.innerHTML;     
    inlineMsg(oEditor,'Hello',4);            	                       
   /* var _blankspace='&nbsp;'; 
    var _nospace='';
    
    regX = new RegExp(_blankspace,"g");  
    sTemp1 = sTemp1.replace(regX,_nospace);                        

    _blankspace='<p>';                    
    regX = new RegExp(_blankspace,"g");
    sTemp1 = sTemp1.replace(regX,_nospace); 
                        
    _blankspace='</p>'; 
    regX = new RegExp(_blankspace,"g");
    sTemp1 = sTemp1.replace(regX,_nospace); 
    
    _blankspace='<P>';                    
    regX = new RegExp(_blankspace,"g");
    sTemp1 = sTemp1.replace(regX,_nospace); 
                        
    _blankspace='</P>'; 
    regX = new RegExp(_blankspace,"g");
    sTemp1 = sTemp1.replace(regX,_nospace); 
    
    _blankspace='<br>';                     
    regX = new RegExp(_blankspace,"g"); 
    sTemp1 = sTemp1.replace(regX,_nospace);
    
    var sTemp1 = sTemp1.replace(/^\s+/, '');
        sTemp1 = sTemp1.replace(/\s+$/, '');                    
   if(sTemp1.length == 0)
   {                          
       oEditor.EditorDocument.body.innerHTML = '';                                                              
       alert('Please Enter Text');  
       return false;           
   }
  else
  {                      
       return true;
  } */
 }
 
/* Script for set enter key press on Search Button */
function onEnterKeyPress(e)
{
   var key = window.event ? e.keyCode : e.which;      
   if(event.keyCode==13) 
   {
        event.keyCode=9;
        var ControlID1 = "ctl00_CPHolderAdmin_btnSearch";
        var btnControlID = ControlID1;
        var btn = document.getElementById(btnControlID);            
        if(btn != null)
         {
            btn.click();
            return false; 
         }
         return true;
    }
}     
    
/* Script for not enter any value in textbox on key press 

 */
function onkeyPress(e)
{ 
    var key = window.event ? e.keyCode : e.which;
    if (key == 13) StartClick(); e.cancelBubble = true; e.returnValue = false; return false; 
} 

function ValidateCurrentAffair()
    {
        if(document.getElementById('ctl00_CPHolderAdmin_chkCurrentAffair').checked==true)
        {
            if(document.getElementById('ctl00_CPHolderAdmin_cmb_Section').value =="1")
            {
               inlineMsg('ctl00_CPHolderAdmin_chkCurrentAffair','Current Affair only lies in CounterPoint section.' ,2);
                return false;
            }
        }
        
    }
function textCounter(field, maxlimit)// check length of textarea
    { 
        if (field.value.length > maxlimit)
        {
            field.value = field.value.substring(0,maxlimit);
            inlineMsg(field.id,field.getAttribute("label") + ' should not exceed the maximum length of ' + field.getAttribute("maxlengths"),2);
           
        }
    }
function ControlChkBox(argVal)
{

   var isChecked=false;  
    for(var i =0;i<document.forms[0].length;i++)
    {
       if(document.forms[0].elements[i].type == 'checkbox')
       {
      //  alert(document.forms[0].elements[i].name);
          if(document.forms[0].elements[i].checked == true)
          {
            isChecked = true;
          }
        }
    }// end for
    
    if(isChecked == false)
    {
      alert("Please select at least one checkbox!")
      return false;
    }
    
    if(isChecked == true)
    { 
    
     var isSubmit = confirm(argVal);
     if (isSubmit==false)
     {
             for(var j=0;j<document.forms[0].length;j++)
             {
                     if(document.forms[0].elements[j].type == 'checkbox')
                       {
                                 if(document.forms[0].elements[j].checked == true)
                                      {
                                     
                                       document.forms[0].elements[j].checked = false;
                                      }
                          }
              }
     }
    }
    return isSubmit;
}
function UnchkMaster(arg)
{
//alert(arg.checked);
if(!arg.checked)
{
for(var i=0;i<document.forms[0].elements.length;i++)
{ 
   if((document.forms[0].elements[i].type =='checkbox')&&( document.forms[0].elements[i].getAttribute("Master")=="true"))
            	 document.forms[0].elements[i].checked=false;
      }
}
}

/*
Start validation for product section
*/

    function fnCheckAllForProduct(arg)
    {
        for(var i=0;i<document.forms[0].elements.length;i++)
        { 
            if((document.forms[0].elements[i].type == 'checkbox')&&(document.forms[0].elements[i].getAttribute("DeleteME") == 'true'))
            {
                if(arg.checked)
                    document.forms[0].elements[i].checked = true;
                else
                    document.forms[0].elements[i].checked = false;
            }
        } 
    }

function DeleteProductChkBox(argVal)
{

   var isChecked=false;  
    for(var i =0;i<document.forms[0].length;i++)
    {
      if((document.forms[0].elements[i].type == 'checkbox')&&(document.forms[0].elements[i].getAttribute("DeleteME") == 'true'))
       {
      //  alert(document.forms[0].elements[i].name);
          if(document.forms[0].elements[i].checked == true)
          {
            isChecked = true;
          }
        }
    }// end for
    
    if(isChecked == false)
    {
      alert("Please select at least one checkbox!")
      return false;
    }
    
    if(isChecked == true)
    { 
    
     var isSubmit = confirm(argVal);
     if (isSubmit==false)
     {
             for(var j=0;j<document.forms[0].length;j++)
             {
                    if(document.forms[0].elements[j].type == 'checkbox')
                        {
                        if((document.forms[0].elements[j].getAttribute("DeleteME") == 'true')||(document.forms[0].elements[j].getAttribute("Master")))
                            {
                                
                                    if(document.forms[0].elements[j].checked == true)
                                      {
                                       document.forms[0].elements[j].checked = false;
                                      }
                             }
                         }
               }
      }
     }
    
    return isSubmit;
}
function PublishProductChkBox(argVal)
{

   var isChecked=false;  
    for(var i =0;i<document.forms[0].length;i++)
    {
       if(document.forms[0].elements[i].type == 'checkbox')
       {
      //  alert(document.forms[0].elements[i].name);
          if(document.forms[0].elements[i].checked == true)
          {
            isChecked = true;
          }
        }
    }// end for
    
    if(isChecked == false)
    {
      alert("Please select at least one checkbox of (New Product/Hot Selling Product/Publish) !")
      return false;
    }
    
    if(isChecked == true)
    { 
    
     var isSubmit = confirm(argVal);
     if (isSubmit==false)
     {
             for(var j=0;j<document.forms[0].length;j++)
             {
                    if(document.forms[0].elements[j].type == 'checkbox')
                        {
                        if((document.forms[0].elements[j].getAttribute("DeleteME") == 'true')||(document.forms[0].elements[j].getAttribute("Master")))
                            {
                                
                                    if(document.forms[0].elements[j].checked == true)
                                      {
                                       document.forms[0].elements[j].checked = false;
                                      }
                             }
                         }
               }
      }
     }
    return isSubmit;
}
function PublishProductSectionChkBox(argVal)
{

   var isChecked=false;  
    for(var i =0;i<document.forms[0].length;i++)
    {
      if((document.forms[0].elements[i].type == 'checkbox')&&(document.forms[0].elements[i].getAttribute("PublishME") == 'true'))
       {
      //  alert(document.forms[0].elements[i].name);
          if(document.forms[0].elements[i].checked == true)
          {
            isChecked = true;
          }
        }
    }// end for
    
    if(isChecked == false)
    {
      alert("Please select at least one checkbox!")
      return false;
    }
    
    if(isChecked == true)
    { 
    
     var isSubmit = confirm(argVal);
     if (isSubmit==false)
     {
             for(var j=0;j<document.forms[0].length;j++)
             {
                    if(document.forms[0].elements[j].type == 'checkbox')
                        {
                        if((document.forms[0].elements[j].getAttribute("PublishME") == 'true')||(document.forms[0].elements[j].getAttribute("master") == 'true'))
                            {
                                
                                    if(document.forms[0].elements[j].checked == true)
                                      {
                                       document.forms[0].elements[j].checked = false;
                                      }
                             }
                         }
               }
      }
     }
    
    return isSubmit;
}
function DeleteProductSectionChkBox(argVal)
{

   var isChecked=false;  
    for(var i =0;i<document.forms[0].length;i++)
    {
      if((document.forms[0].elements[i].type == 'checkbox')&&(document.forms[0].elements[i].getAttribute("PublishME") != 'true')&&(document.forms[0].elements[i].getAttribute("Master") != 'true'))
       {
      //  alert(document.forms[0].elements[i].name);
          if(document.forms[0].elements[i].checked == true)
          {
            isChecked = true;
          }
        }
    }// end for
    
    if(isChecked == false)
    {
      alert("Please select at least one checkbox!")
      return false;
    }
    
    if(isChecked == true)
    { 
    
     var isSubmit = confirm(argVal);
     if (isSubmit==false)
     {
             for(var j=0;j<document.forms[0].length;j++)
             {
                    if(document.forms[0].elements[j].type == 'checkbox')
                        {
                         if((document.forms[0].elements[j].getAttribute("PublishME") != 'true')&&(document.forms[0].elements[j].getAttribute("Master") != 'true'))
                            {
                                
                                    if(document.forms[0].elements[j].checked == true)
                                      {
                                       document.forms[0].elements[j].checked = false;
                                      }
                             }
                         }
               }
      }
     }
    
    return isSubmit;
} 
function fnCheckAllForProductSection(arg)
    {
        for(var i=0;i<document.forms[0].elements.length;i++)
        { 
            if((document.forms[0].elements[i].type == 'checkbox')&&(document.forms[0].elements[i].getAttribute("PublishME") == 'true'))
            {
                if(arg.checked)
                    document.forms[0].elements[i].checked = true;
                else
                    document.forms[0].elements[i].checked = false;
            }
        } 
    }
    
 function PublishDeleteOfferSectionChkBox(argVal,argval2)
{

   var isChecked=false;  
    for(var i =0;i<document.forms[0].length;i++)
    {
      if(document.forms[0].elements[i].type == 'checkbox')
       {
       if(document.forms[0].elements[i].name.indexOf(argval2)>0)
       {
       
           if(document.forms[0].elements[i].checked == true)
          {
            isChecked = true;
          }
        }
       
        }
    }// end for
    
    if(isChecked == false)
    {
      alert("Please select at least one checkbox!")
      return false;
    }
    
    if(isChecked == true)
    { 
    
     var isSubmit = confirm(argVal);
     if (isSubmit==false)
     {
             for(var j=0;j<document.forms[0].length;j++)
             {
                    if(document.forms[0].elements[j].type == 'checkbox')
                        {
                        if(document.forms[0].elements[j].name.indexOf(argval2)>0)
                           {
                                    if(document.forms[0].elements[j].checked == true)
                                      {
                                       document.forms[0].elements[j].checked = false;
                                      }
                            }
                         }
               }
      }
     }
    
    return isSubmit;
}   
  