function CloseWindow()
{
}
function ShowHelp()
{
}
function ToggleSize()
{
	//window.parent.ToggleSize(event.srcElement);
}
function HideWindow()
{
}
function ValidateForAdd(oURL)
{
	window.navigate(oURL);
}
function ValidateForView(oURL)
{
	var clicks = FindClicks(0);
	if (clicks != -1) window.navigate(oURL + clicks)
}
function ValidateForConsultants()
{
	var clicks = FindClicks(0);
	if (clicks != -1) addNewConsultants(clicks);
}
function ValidateForDelete()
{
	var clicks = FindClicks(4);
	if (clicks < 0)
		return false;
	return window.confirm("Do you want to delete?");
}
function ValidateForDeleteRecord(AutoID)
{
	if (AutoID == '')
		return false;
	return window.confirm("Do you want to delete?");
}

function CancelClicks(oURL)
{
	window.navigate(oURL);
}
function FindClicks(oAction)
{
	if (typeof(dgName) == "undefined")
		dgName = "dgList";
	if (window.document.getElementById(dgName) == null) return -1;
	var dgCtrl = eval('window.document.getElementById("' + dgName + '").getElementsByTagName("input")');
	var SelCount = 0, SelValue = "";
	for (var i = 0; i < dgCtrl.length ; i++){
		if ((dgCtrl[i].checked == true) && ((dgCtrl[i].type == 'checkbox')||(dgCtrl[i].type == 'radio'))){
			SelCount = eval(SelCount) + 1;
			if (SelCount > 1) SelValue += ",";
			SelValue += dgCtrl[i].value;
		}
	}
	switch(oAction){
		case 0: //Edit Mode
			if (SelCount == 1) return SelValue;
			else return -1;
			break;
		case 1://BookingList Mode
			if (SelCount > 0) return SelValue;
			else return -1;
			break;
		case 4: //Delete Mode
			if (SelCount > 0) return 1;
			else return -1;
			break;
		case 5://View Mode
			if (SelCount > 0) return SelValue;
			else return -1;
			break;
	}
}

function ToggleMode()
{
	try{document.all["pageFooter_btnSubmit"].style.visibility = "visible";}catch(e){}
	try{document.all["pageFooter_btnReset"].style.visibility = "visible";}catch(e){}
	try{document.all["pageFooter_btnAdd"].style.visibility = "hidden";}catch(e){}
	try{document.all["pageFooter_btnEdit"].style.visibility = "hidden";}catch(e){}
	try{document.all["pageFooter_btnCopy"].style.visibility = "hidden";}catch(e){}
	try{document.all["pageFooter_btnDelete"].style.visibility = "hidden";}catch(e){}
}

function ClearControls()
{
	var oColl = eval("document.all['ContentBody'].getElementsByTagName('input')");
	for (var i=0; i < oColl.length; i++)
	{
		if (oColl[i].type == "text")
			oColl[i].innerText = "";
	}
	var oColl1 = eval("document.all['ContentBody'].getElementsByTagName('textarea')");
	for (var i=0; i < oColl1.length; i++)
	{
			oColl1[i].innerText = "";
	}
}

			function ShowProfile()
			{
			if(document.getElementById("txtDescription").value=="") alert("Description Cannot be Empty");
			   else
			   { 
				var oPreview = document.getElementById("ContentBody").cloneNode(true);
				var oSpan = document.createElement("SPAN");
				var oTA = oPreview.getElementsByTagName("textarea")[0];
				oSpan.innerHTML = oTA.innerHTML.replace(/\n/gi, "<br>");
				oTA.parentElement.appendChild (oSpan);
				oTA.parentElement.removeChild (oTA);
				
				var oTxtArr = oPreview.getElementsByTagName("input");
				for (var i = 0; i < oTxtArr.length; i++)
				{
					if (oTxtArr[i].type == "text")
					{
						oSpan = document.createElement("SPAN");
						oSpan.innerText = oTxtArr[i].value;
						oTxtArr[i].parentElement.appendChild (oSpan);
					}
					oTxtArr[i].parentElement.removeChild (oTxtArr[i]);
					i--;
				}
				oPreview.firstChild.insertBefore (document.getElementById ("trMain").cloneNode (true), oPreview.firstChild.firstChild);
				oPreview.firstChild.firstChild.firstChild.colspan = 3;
				 //window.showModelessDialog("../../Shared/DialogWindow.aspx", oPreview, "edge: Raised; center: Yes; help: No; resizable: No; status: No;");
				 window.showModelessDialog("../../Shared/DialogWindow.aspx", oPreview, "dialogHeight:" + (screen.availHeight - 200) + "px; dialogWidth:600px; edge: Raised; center: Yes; help: No; resizable: No; status: No;");
				}
			}
function Add_Click()
{
	try{
		EnableAllControl("ContentBody");
		}catch(e){}
	lblHeading.innerText = lblHeading.AddCaption;
	ToggleMode();
	ClearControls();
	document.all["PageMode"].value = 1;
}

function Copy_Click()
{
	try{
		EnableAllControl("ContentBody");
		}catch(e){}
	lblHeading.innerText = lblHeading.AddCaption;
	ToggleMode();
	document.all["PageMode"].value = 1;
}

function Edit_Click()
{
	try{
		EnableAllControl("ContentBody");
		}catch(e){}
	lblHeading.innerText = lblHeading.EditCaption;
	ToggleMode();
	document.all["PageMode"].value = 2;
}

function On_Focus()
{
	event.srcElement.style.background= "#FFFDB5";
}

function On_Blur()
{
	event.srcElement.style.background= "White";
}

function Initialize()
{
	var nLength;
	var nElementIndex = 0;
	var currentElement;
	try
	{
		nLength = document.ServerForm.elements.length;
		for (i = 0; i < nLength; i++)
		{
			currentElement = document.ServerForm.elements[i];
			if (currentElement.type == "text" || currentElement.type == "password" || currentElement.type == "textarea" || currentElement.type == "select-one")
			{
				if (nElementIndex <= 0)
				{
					if ((currentElement.style.visibility != "hidden") && (currentElement.enabled != false))
					{
						nElementIndex = i;
					}
				}
				if (currentElement.style.backgroundColor == "")
				{
					currentElement.attachEvent("onfocus",On_Focus);
					currentElement.attachEvent("onblur",On_Blur);
				}
			}
		}
		document.ServerForm.elements[nElementIndex].focus();
	}
	catch(e)
	{
		document.body.style.overflow = "auto";
	}
	
	if (typeof(Page_Validators) != "undefined")
	{
		for( i = 0; i < Page_Validators.length; i++)
		{
			if (Page_Validators[i].style.visibility == "hidden")
			{
				Page_Validators[i].style.display = "none";
				Page_Validators[i].display = "Dynamic";
				Page_Validators[i].style.visibility = "visible";
			}
		}
	}
}

// function initService(),GetDDLdetails(),fillDDLdetails are called -- 
// -- to access the webservice and bind data to the dropdownlist according to the country or city selection
// -- (for ex : bind city for the selected country, bind location for the selected city )
// -- Methods to be followed in the aspx page.
// -- 1) initService() function needs to be called in the (function Page_Load())
// -- 2) GetDDLdetails(CountryID,GetCities,ddlCity) function and values needs to be set on dropdownlist onchange event
// -- 3) <DIV id="divService" ...>  Div tag to be added in the aspx page
function initService()
{
	//divService.useService("http://www.DOTWorld.ae/Demo/Shared/MasterService.asmx?WSDL","svcDDLdetails");
	divService.useService("/DOTWorld/Shared/MasterService.asmx?WSDL","svcDDLdetails");
}

function GetDDLdetails(AutoID,fnName,ddlName,organizationType)
{
	objddlName = ddlName;
	if (isNaN(organizationType))
		iCallID = divService.svcDDLdetails.callService(fillDDLdetails,fnName,AutoID); 
	else
		iCallID = divService.svcDDLdetails.callService(fillDDLdetails,fnName,AutoID,organizationType);
}

function GetDDLContactdetails(AutoID,fnName,ddlName,organizationType,contactcategory)
{
	objddlName = ddlName;
	iCallID = divService.svcDDLdetails.callService(fillDDLdetails,fnName,AutoID,organizationType,contactcategory);
}
function fillDDLdetails(result)
{
	var strXML,objXMLNode,objXMLDoc,strHTML;
	var faultCode,faultString;
	var objCode,objName, objDDL;
	if (iCallID != result.id) return;
	if(result.error)
	{
		faultCode   = result.errorDetail.code;
		faultString = result.errorDetail.string;		
		alert("ERROR: Code = " + faultCode + ", Fault String=" + faultString);		
	}
	else
	{
		objXMLNode = result.value;	
		objXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
		objXMLDoc.loadXML(objXMLNode.xml);	
		objXMLDoc.async = false;
		objCode = objXMLDoc.getElementsByTagName("AutoID");
		objDDL = eval('document.ServerForm.'+objddlName);
		objDDL.options.length = 1;
		if (objddlName == 'ddlCity') {
			if (document.ServerForm.ddlLocation) document.ServerForm.ddlLocation.options.length = 1;
			
		}
		for(i=1;i<=objCode.length;i++)
		{
			objName = objXMLDoc.getElementsByTagName("Name");
			objDDL[(i)]=new Option(objName.item(i-1).text,objCode.item(i-1).text);   
		}
		if (objDDL.SelectedValue != null && objDDL.SelectedValue != "-1")
		{
			objDDL.value = objDDL.SelectedValue;
		}
		if (objDDL.selectedIndex < 0)
			objDDL.selectedIndex = 0;
	}
}

// KeyStrokeControl
var previousBuffer = ""; 
var previousIndex = 0; 
function EventName(dropdownlist,caseSensitive) 
 { 
	// check the keypressBuffer attribute is defined on the dropdownlist 
	var undefined; 
	if (dropdownlist.keypressBuffer == undefined) 
	{  
		dropdownlist.keypressBuffer = '';  
	}      
	// get the key that was pressed     
	var key = String.fromCharCode(window.event.keyCode);    
      dropdownlist.keypressBuffer += key;    
	if (!caseSensitive) 
		{   
		// convert buffer to lowercase  dropdownlist.keypressBuffer = dropdownlist.keypressBuffer.toLowerCase();     
		}  
  // find if it is the start of any of the options  
    var optionsLength = dropdownlist.options.length;   
     for (var n=0; n < optionsLength; n++)   
	 {   
		var optionText = dropdownlist.options[n].text;    
		if (!caseSensitive)   
		{   
			optionText = optionText.toLowerCase();     
		}     
		if (optionText.indexOf(dropdownlist.keypressBuffer,0) == 0)    
		{     
			dropdownlist.selectedIndex = n; 
    		dropdownlist.size = 3;	 
			previousBuffer = dropdownlist.keypressBuffer;   
			previousIndex = n;   
			return false; 
			// cancel the default behavior since   
			// we have selected our own value 
		}  
     	 dropdownlist.size = 1;	 
      }    
		// reset initial key to be inline with default behavior    
	dropdownlist.keypressBuffer = key;     
	dropdownlist.size = 0; 
	return true; // give default behavior     
} 
     
function checkdate(objName)
{
	var datefield = objName;
	if (chkdate(objName) == false) 
	{
		datefield.select();
		alert("That date is invalid. Please try again.");
		datefield.focus();
		return false;
	}
	else
	{
	return true;
	}
}

function chkdate(objName)
{
	//var strDatestyle = "US"; //United States date style
	var strDatestyle = "EU";  //European date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	strDate = datefield.value;

	if (strDate.length < 1)
	{
		return true;
	}

	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
	{
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
		{
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			if (strDateArray.length != 3)
			{
				err = 1;
				return false;
			}
			else 
			{
				strDay = strDateArray[0];
				strMonth = strDateArray[1];
				strYear = strDateArray[2];
			}
			booFound = true;
		}
	}

	if (booFound == false)
	{
		if (strDate.length>5)
		{
			strDay = strDate.substr(0, 2);
			strMonth = strDate.substr(2, 2);
			strYear = strDate.substr(4);
		}
	}

	if (strYear.length == 2)
	{
		strYear = '20' + strYear;
	}

	// US style
	if (strDatestyle == "US")
	{
		strTemp = strDay;
		strDay = strMonth;
		strMonth = strTemp;
	}

	intday = parseInt(strDay, 10);

	if (isNaN(intday))
	{
		err = 2;
		return false;
	}

	intMonth = parseInt(strMonth, 10);

	if (isNaN(intMonth))
	{
		for (i = 0;i<12;i++)
		{
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
			{
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
			}
		}
		if (isNaN(intMonth))
		{
			err = 3;
			return false;
		}
	}

	intYear = parseInt(strYear, 10);
	if (isNaN(intYear))
	{
		err = 4;
		return false;
	}

	if (intMonth>12 || intMonth<1)
	{
		err = 5;
		return false;
	}

	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
	{
		err = 6;
		return false;
	}

	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) 
	{
		err = 7;
		return false;
	}

	if (intMonth == 2)
	{
		if (intday < 1)
		{
			err = 8;
			return false;
		}
		if (LeapYear(intYear) == true)
		{
			if (intday > 29)
			{
				err = 9;
				return false;
			}
		}
	else
	{
		if (intday > 28)
		{
			err = 10;
			return false;
		}
	}
}

	if (strDatestyle == "US")
	{
		datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
	}
	else
	{
		datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
	}
	return true;
}

function LeapYear(intYear)
{
	if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
}
else
{
	if ((intYear % 4) == 0) { return true; }
}
	return false;
}

function doDateCheck(from, to)
{
	if (Date.parse(from.value) <= Date.parse(to.value))
	{
		alert("The dates are valid.");
	}
	else
	{
	if (from.value == "" || to.value == "") 
	alert("Both dates must be entered.");
	else 
	alert("To date must occur after the from date.");
   }
}

function addDays(myDate,days)
{
	var date1 =	new Date(new Date(myDate).getTime() + days*24*60*60*1000);
	return date1.getDate() + "/" + eval(date1.getMonth() + 1) + "/" + date1.getYear();
}

function dayselapsed(datefrom,dateto) 
{
var arrfrom = new Array();
var arrto = new Array();
var blvalid = false;

if(datefrom.search('/')>0)
	{
	arrfrom = datefrom.split('/');
	}

if(datefrom.search('-')>0)
	{
	arrfrom = datefrom.split('-');
	}

if(dateto.search('/')>0)
	{
	arrto = dateto.split('/');
	}

if(dateto.search('-')>0)
	{
	arrto = dateto.split('-');
	}

var date1 = new Date(arrfrom[2], arrfrom[1]-1, arrfrom[0]);
var date2 = new Date(arrto[2], arrto[1]-1, arrto[0]);

var difference = Date.UTC(date2.getYear(),date2.getMonth(),date2.getDate(),0,0,0) - Date.UTC(date1.getYear(),date1.getMonth(),date1.getDate(),0,0,0);
	if(isNaN(difference)) difference = '';
	else difference = difference/1000/60/60/24
    if(!isNaN(difference)&&difference==0) difference = 1;
    return difference;
}
function DaysDiff(datefrom,dateto) 
{
	var arrfrom = new Array();
	var arrto = new Array();
	var blvalid = false;
	
	if(datefrom.search('/')>0)
	{
		arrfrom = datefrom.split('/');
	}

	if(datefrom.search('-')>0)
	{
		arrfrom = datefrom.split('-');
	}

	if(dateto.search('/')>0)
	{
		arrto = dateto.split('/');
	}

	if(dateto.search('-')>0)
	{
		arrto = dateto.split('-');
	}
	var date1 = new Date(arrfrom[2], arrfrom[1]-1, arrfrom[0]);
	var date2 = new Date(arrto[2], arrto[1]-1, arrto[0]);
	var difference = Date.UTC(date2.getYear(),date2.getMonth(),date2.getDate(),0,0,0) - Date.UTC(date1.getYear(),date1.getMonth(),date1.getDate(),0,0,0);
	if(isNaN(difference)) difference = '';
	else difference = difference/1000/60/60/24;	
	// if(difference==0) difference = 1;
	//alert(difference);
	return difference;

}

function LoadUserControl(timeStamp,cntrlName,getDetails)
{	
	var ddlCntrl = document.getElementById(cntrlName + "_uSelect");
	var ddl = window.parent.Fill(timeStamp,getDetails);
	ddlCntrl.parentElement.insertBefore(ddl, ddlCntrl);
	ddlCntrl.parentElement.removeChild(ddlCntrl);
	ddl.className = ddlCntrl.className;
	ddl.id = ddlCntrl.id;	
	ddl.disabled = ddlCntrl.disabled;
	ddl.onchange=OnChange;	
	
	var ddlValue = document.getElementById(cntrlName + "_uValue");
	var ddlText = document.getElementById(cntrlName + "_uText");	
	if(ddlValue.value != "")
	{
		ddl.value = ddlValue.value;
		ddlText.value = ddl[ddl.selectedIndex].text;
	}	
}

function LoadControl(timeStamp,cntrlName,getDetails)
{	
	var ddlCntrl = document.getElementById(cntrlName + "_uSelect");
	var ddl = window.parent.Fill(timeStamp,getDetails);
	ddlCntrl.parentElement.insertBefore(ddl, ddlCntrl);
	ddlCntrl.parentElement.removeChild(ddlCntrl);
	ddl.className = ddlCntrl.className;
	ddl.id = ddlCntrl.id;
	ddl.disabled = ddlCntrl.disabled;
	ddl.onfocus = ddlCntrl.onfocus;
	ddl.onkeypress = ddlCntrl.onkeypress;
	ddl.onkeydown = ddlCntrl.onkeydown;	
	var ddlValue = document.getElementById(cntrlName + "_uValue");
	var ddlText = document.getElementById(cntrlName + "_uText");		
	if(ddlValue.value != "")
	{
		ddl.value = ddlValue.value;
		ddlText.value = ddl[ddl.selectedIndex].text;
	}	
}

function winOpen(file,scrollbarsYN,resizableYN)
{
	var str='';
	var msgWindow = '';
	var availwidth = screen.availWidth;
	var availheight = screen.availHeight;
	var left= (availwidth)/2;
	var top = (availheight)/2;
	str = 'width=1px,height=1px,left='+left+',top='+top+',scrollbars=no,toolbars=no,resizable=yes,status=no';
	msgWindow=open(file,"child",str);
	msgWindow.focus();
}

function winOpenReSize(file,height,width,scrollbarsYN,resizableYN)
{
	var str='';
	var left=0;
	var top=0;
	var availwidth = 0;
	var availheight = 0;
	var msgWindow = '';
	if (scrollbarsYN == '') scrollbarsYN = "no";
	availwidth = screen.availWidth;
	availheight = screen.availHeight;
	left = (availwidth - width)/2;
	top = (availheight - height)/2;
	str = 'resizable='+resizableYN+',width='+width+',height='+height+',left='+left+',top='+top+',scrollbars='+scrollbarsYN+',toolbars=no,status=no';
	msgWindow=open(file,"child",str);
	msgWindow.focus();
}
/*alert("DOTWorld will not be available for few minutes at 7.40pm Dubai Time due to upgration. Please logout of DOTWorld.");*/