var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos)
{
	if(pos=="random"){
		LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
	}
	if(pos=="center"){
		LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;
	}
	else if((pos!="center" && pos!="random") || pos==null) {
		LeftPosition=0;TopPosition=20
		}
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,traget=blank';
	win=window.open(mypage,myname,settings);
}

function PrintHeading(parm) 
{
	var tmpHTMLBuffer = "";
	tmpHTMLBuffer = '<table border="0" bgcolor="white" cellpadding="0" cellspacing="0" Class="Faintlabel" width="100%" height="115">' ; 
	tmpHTMLBuffer += '<tr>' ;
	tmpHTMLBuffer += '<td width="50%" valign="top" align="left" height="90"><p align="center"><img align="left" border="0" src="images/dnslogo.gif" ></p></td>' ;
	tmpHTMLBuffer += '<td width="50%" valign="center" align="right" height="90"></td>' ;
	tmpHTMLBuffer += '</tr>' ;
	tmpHTMLBuffer += '<tr>' ;
	tmpHTMLBuffer += '<td colspan="2" class="Header" >Welcome '+ parm +' To DNS </td>' ;
	tmpHTMLBuffer += '</tr>' ;
	tmpHTMLBuffer += '<tr>' ;
	tmpHTMLBuffer += '<td colspan="2" class="Headers" height="5"></td>' ;
	tmpHTMLBuffer += '</tr>' ;
	tmpHTMLBuffer += '</table>' ;
	document.write(tmpHTMLBuffer) ;
	
}

function ValidateTextControl(TextObject, ValidationType, IsBlankAllowed) {
// TextObject - Is the Object to be validated
// ValidationType - Can be Text, Date, Numeric, Money, Picklist
// IsBlankAllowed - If the object has blank value then no validation is done
// In case of Numbers If passed as true then Zero values are allowed
// default is false
	

	if (! TextObject) {
		alert("The Object does not exists. Please check it");
		return false;
	}

	IsBlankAllowed = (ValidateTextControl.arguments[2]) ? IsBlankAllowed : false;
	
	if (IsBlankAllowed) {
		if (TextObject.value == "") {
			return true;
		}
	}
	else {
		if (TextObject.value == "") {
			TextObject.className = "Error";
			return false;
		}
		else {
			//TextObject.className = "";
		}
	}
	
	ValidationType = (ValidateTextControl.arguments[1]) ? ValidationType : "Text";
	switch (ValidationType.toUpperCase()) {
		case "TEXT" :
			/*if (TextObject.value == "") {
				TextObject.className = "Error";
			}
			else {
				TextObject.className = "";
			}*/
			return true;
			break;
		case "DATE" :
			if (!validation.validDate(TextObject)) {
				TextObject.className = "Error";
				return false;
			}
			else {
				TextObject.className = "";
				return true;
			}
			break;
		case "NUMERIC" :
			if (IsBlankAllowed) {
				if (parseInt(TextObject.value,10) == 0) {
					TextObject.className = "";
					return true;
				}
			}
			if (!validation.validNumber(TextObject)) {
				TextObject.className = "Error";
				return false;
			}
			else {
				TextObject.className = "";
				return true;
			}
			break;
		case "MONEY" :
			if (IsBlankAllowed) {
				if (parseInt(TextObject.value,10) == 0) {
					//TextObject.className = "";
					return true;
				}
			}
			if (parseFloat(TextObject.value) == 0 || !validation.validDecimalNumber(TextObject)) {
				TextObject.className = "Error";
				return false;
			}
			else {
				//TextObject.className = "";
				TextObject.value = FormatAmount(TextObject.value)
				return true;
			}
			break;
		case "PICKLIST" :
			if (TextObject.value == "") {
				TextObject.className = "Error";
				return false;
			}
			else {
				TextObject.className = "";
				return true;
			}
			break;

		case "EMAIL"  :
		    if (!validation.validEmail(TextObject)) {
		       	TextObject.className = "Error";
				return false;
			}
		    else{
		        TextObject.className = "TextBox";
				return true;
			}
		    break;   	
	}
	alert("No match found")
	return false;
}
// To get coordinates of the control

function getTopCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return BndRct.top
}

function getRightCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return BndRct.right
}
 
function getBottomCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	  return BndRct.bottom
}

function getLeftCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return BndRct.left
}

function FormatAmount(parmAmount) 
{
	// formats amount to two decimal points.
	parmAmount = String(parmAmount);
	if (parmAmount == "" || parmAmount == "0" ) return "0.00"
	var DecimalIndex = parmAmount.indexOf(".");
		
	if (DecimalIndex == -1)
	{
		return parmAmount + ".00";
	}
	else {
		if (parmAmount.length == DecimalIndex + 2) {
			return parmAmount + "0";
		}
		else if (parmAmount.length == DecimalIndex + 1) {
			return parmAmount + "00";
		}
		else {
			var newAmount;
			if (parseInt(parmAmount.substring(DecimalIndex + 3, DecimalIndex + 4)) >= 5) {
				newAmount = parmAmount.substring(0, DecimalIndex + 2);
				newAmount += String(parseInt(parmAmount.substring(DecimalIndex + 2, DecimalIndex + 3),10) + 1)
				return newAmount;
			}
			else
				return parmAmount.substring(0, DecimalIndex + 3);
		}
	}
}

function ConvertStringToDateObject(parmString) {
	//String should be in DD/MM/YYYY format

	var month,day,year;
	var DateSeparator = ReturnMeSeparator(parmString);

	day = parmString.substr(0, parmString.indexOf(DateSeparator))
	month = parmString.substring(parmString.indexOf(DateSeparator) + 1, parmString.lastIndexOf(DateSeparator))
	year = parmString.substr(parmString.lastIndexOf(DateSeparator)  + 1, parmString.length)
		
	var tmpDate = new Date(year, parseInt(month) - 1, day)
	return tmpDate;
}

function showhidebuttons(passedFlag)
{
	var buttonCounter;
	var allbuttons = document.getElementsByTagName("INPUT");

	for(buttonCounter=0; buttonCounter<allbuttons.length; buttonCounter++)
	{
		if(allbuttons[buttonCounter].type.toUpperCase() == "BUTTON" || allbuttons[buttonCounter].type.toUpperCase() == "SUBMIT" || allbuttons[buttonCounter].type.toUpperCase() == "RESET")
		{
			allbuttons[buttonCounter].style.display = passedFlag;
		}
	}
}

function Trim(parmString){
	if (parmString.length == 0) {
		return "";	
	}

	var tmpString;
	tmpString = parmString ; 

	for (var i =0; i < parmString.length; i++)
	{
		if (tmpString.indexOf(" ") == 0)
			tmpString = tmpString.substr(1,tmpString.length);
		else
			break;
	}
	return tmpString;
}


function checkdate(passedobject)
{
	var strvalue, datecharacter;
	strvalue = passedobject.value;
 
	datecharacter = "/";
 
	if(strvalue.charAt(2) != datecharacter || strvalue.charAt(5) != datecharacter)
	{
		alert(passedobject.label + " is not a valid date.");
		return false;
	}
 
	var monthvalue;
	monthvalue = strvalue.substring(0, 2);

	if(parseFloat(monthvalue) > 12)
	{
		alert(passedobject.label + " is not a valid date.");
		return false;
	}
 
	var dayvalue;
	dayvalue = parseFloat(strvalue.substring(3, 5));
 
	var str31daysmonth = "01,03,05,07,08,10,12";
	if(str31daysmonth.indexOf(monthvalue) == -1 && dayvalue > 30)
	{
		alert(passedobject.label + " is not a valid date.");
		return false;
	}
 
	var yearvalue;
	yearvalue = strvalue.substring(6, 10);
 
	if(parseInt(yearvalue) < 1900)
	{
		alert(passedobject.label + " is not a valid date. Year should be greater then 1900."); 
		return false;
	}
	 
	if(parseFloat(monthvalue) == 2)
	{
		if((yearvalue % 4) == 0 && parseFloat(dayvalue) > 29)
		{
		 alert(passedobject.label + " is not a valid date.");
		 return false;
		}
		if((yearvalue % 4) != 0 && parseFloat(dayvalue) > 28)
		{
		 alert(passedobject.label + " is not a valid date.");
		 return false;
		}
	} 
}

function FlushError() {
	ErrorList = "Error List :";
	Counter = 0;
}

function AddError(ErrorDescription, RowCount) {
	Counter++;
	if (RowCount) {
		ErrorList += ("\n" + Counter  + ". " + "Row " + RowCount + " : " + ErrorDescription);
	}
	else {
		ErrorList += "\n" + Counter  + ". " + ErrorDescription;
	}
}

function ListErrors() {
	if (ErrorList == "Error List :") {
		return true;
	}
	else {
		alert(ErrorList + "\n" + "\n" + "    ... all these fields are mandatory !!!");
		return false;
	}
}

// functions added by sunita for validating phone no., fax no
function IsValidPhoneNumber(TextObject){
	
	var StrPhone = new String(TextObject.value);
	if (TextObject.value == "" || StrPhone.length <= 0) {
		alert("Please enter the Phone Number.");
		return false;
	}
	var ValidCharacters = "1234567890{}[]- /,()+"
	if(!CharacterValidation(ValidCharacters, TextObject.value)){
		TextObject.className = "Error"
		TextObject.focus();
		return false;
	} 
	return true;
} 

function CharacterValidation(parmValidChars, parmString) {
	var ValidCharacters = parmValidChars;
	var i;
	for(var z = 0; z < parmString.length; z++)
	{
	 i = ValidCharacters.indexOf(parmString.charAt(z));
	 
	 if(i == -1) 
	  return false;
	}  
	return true;
}

