var menuItemCurrent = null;
var menuDivFrameCurrent = null;
var menuItemHide = false;
var globalEvent;
var bFlag = false;
var bAnswerOpen = false;
var answerCurrent = null;

var bThirLevelOpened = false;

function ShowCalendar()
{
	var window = OpenBlankNewWindow("CalendarPopUp.aspx",200,200);
	
}

function ShowDate()
{
	alert();
}

function OpenBlankNewWindow(strUrl,intWidth,intHeight)
{
	var win = window.open(strUrl,"","width=" + intWidth + ",height=" + intHeight + ",scrollbars=1,menu=0");
}

function SetColorOn(id)
{
	var obj = document.getElementById("link" + id);
	
		
	obj.style.color = "#20538a";
}

function SetColorOff(id)
{
	var obj = document.getElementById("link" + id);
	
		
	obj.style.color = "#333333";
}

function Clear(form)
{
	for(var i=0;i<form.elements.length;i++)
		form.elements[i].value = "";
}

function ShowBigPicture(id, langId)
{
	var url = "LargePicture.aspx?picId=" + id + "&l=" + langId;
	window.open(url,"mywindow","menubar=0,resizable=1,location=0,status=0,width=15,height=8");
}

function JumpToTop()
{
	document.location.hash = "#Top";
}

function JumpToAnchor()
{
	if(hidSubjectRef.value == "-1") return;
	
	document.location.hash = "#" + hidSubjectRef.value;
}

function ShowAnswer(id)
{
	var container = document.getElementById("answerContainer" + id);
	if(container == null) return;
	
	if(container.style.display == "none")
		container.style.display = "";
	else
		container.style.display = "none";
	
	if(answerCurrent != null && answerCurrent != container)
		answerCurrent.style.display = "none";
	
	answerCurrent = container;
}

function ShowThirdLevel(sender,isRtl)
{
	var id = sender.id;
	var img = document.getElementById("img" + id);
	var row = document.getElementById("sideMenuContainer" + id);
	
	if(row == null) return;
	
	
	if(isRtl != "rtl")
	{
		if(img.className == 'ImgUnSelectedOpened')
		{
			
			img.src = "images/PlusBlue.gif";
			img.className = 'ImgUnSelectedClosed';
		}	
		else if(img.className == 'ImgSelectedOpened')
		{
			
			img.src = "images/MinusYellow.gif";
			img.className = 'ImgSelectedClosed';
		}
		else if(img.className == 'ImgUnSelectedClosed')
		{
			
			img.src = "images/MinusBlue.gif";
			img.className = 'ImgUnSelectedOpened';
		}
		else
		{
			
			img.src = "images/MinusYellow.gif";	
			img.className = 'ImgSelectedOpened';
		}	
	}	
	else
	{
		if(img.className == 'ImgUnSelectedOpened')
		{
			
			img.src = "images/PlusBlueHeb.gif";
			img.className = 'ImgUnSelectedClosed';
		}	
		else if(img.className == 'ImgSelectedOpened')
		{
			
			img.src = "images/MinusYellowHeb.gif";
			img.className = 'ImgSelectedClosed';
		}
		else if(img.className == 'ImgUnSelectedClosed')
		{
			
			img.src = "images/MinusBlueHeb.gif";
			img.className = 'ImgUnSelectedOpened';
		}
		else
		{
			
			img.src = "images/MinusYellowHeb.gif";	
			img.className = 'ImgSelectedOpened';
		}	
	}
	
	if(row.style.display == "none")
		row.style.display = "";
	else
		row.style.display = "none";	
}

function ShowThirdLevelAgency(sender,isRtl)
{
	var id = sender.id;
	var img = document.getElementById("agencyImg" + id);
	var row = document.getElementById("agencySideMenuContainer" + id);
	
	if(row == null) return;
	
	
	if(isRtl != "rtl")
	{
		if(img.className == 'ImgUnSelectedOpened')
		{
			
			img.src = "images/PlusBlue.gif";
			img.className = 'ImgUnSelectedClosed';
		}	
		else if(img.className == 'ImgSelectedOpened')
		{
			
			img.src = "images/MinusYellow.gif";
			img.className = 'ImgSelectedClosed';
		}
		else if(img.className == 'ImgUnSelectedClosed')
		{
			
			img.src = "images/MinusBlue.gif";
			img.className = 'ImgUnSelectedOpened';
		}
		else
		{
			
			img.src = "images/MinusYellow.gif";	
			img.className = 'ImgSelectedOpened';
		}	
	}	
	else
	{
		if(img.className == 'ImgUnSelectedOpened')
		{
			
			img.src = "images/PlusBlueHeb.gif";
			img.className = 'ImgUnSelectedClosed';
		}	
		else if(img.className == 'ImgSelectedOpened')
		{
			
			img.src = "images/MinusYellowHeb.gif";
			img.className = 'ImgSelectedClosed';
		}
		else if(img.className == 'ImgUnSelectedClosed')
		{
			
			img.src = "images/MinusBlueHeb.gif";
			img.className = 'ImgUnSelectedOpened';
		}
		else
		{
			
			img.src = "images/MinusYellowHeb.gif";	
			img.className = 'ImgSelectedOpened';
		}	
	}
	
	if(row.style.display == "none")
		row.style.display = "";
	else
		row.style.display = "none";	
}

function ChangePicturesOff(id)
{
	/*
	var imgLeft = document.getElementById("imgMenuLeft" + id);
	var imgRight = document.getElementById("imgMenuRight" + id);
	var tdBg = document.getElementById("tdMenuBg" + id);
		
	imgLeft.src = "images/LinkLeft.gif";
	imgRight.src = "images/LinkRight.gif";
	tdBg.background = "images/LinkBG.gif";
	*/
}

function ChangePicturesOn(id)
{
/*
	var imgLeft = document.getElementById("imgMenuLeft" + id);
	var imgRight = document.getElementById("imgMenuRight" + id);
	var tdBg = document.getElementById("tdMenuBg" + id);
		
	imgLeft.src = "images/LinkLeft_Over.gif";
	imgRight.src = "images/LinkRight_Over.gif";
	tdBg.background = "images/LinkBG_Over.gif";
	*/
}
		
function menuRowOverC(obj,id)
{
		
	temp="img"+id;
	temp2="menuRow"+id;
	if(document.getElementById(temp))
	document.getElementById(temp).style.backgroundColor = "#c3dee1";
	if(document.getElementById(temp2))
	document.getElementById(temp2).style.backgroundColor = "#c3dee1";
	menuRowOver(obj);	
	}

function menuRowOutC(obj,id)
{
	
	temp="img"+id;
	temp2="menuRow"+id;
	if(document.getElementById(temp))
	document.getElementById(temp).style.backgroundColor = "#eff5f8";
	if(document.getElementById(temp2))
	document.getElementById(temp2).style.backgroundColor = "#eff5f8";	

	 menuRowOut(obj,true);

	
}

function showSubMenu(parent, id)
{
		
	menuItemHide = false;
	
	if (menuItemCurrent && menuItemCurrent.id == "menuitem" + id)
	{
		return;
	}	
	if (menuItemCurrent)
	{
		//if (menuItemCurrent.filters && menuItemCurrent.filters.length)
		//	menuItemCurrent.filters[0].apply();
		menuItemCurrent.style.visibility = "hidden";
		menuDivFrameCurrent.style.display = "none";
		//if (menuItemCurrent.filters && menuItemCurrent.filters.length)
		//	menuItemCurrent.filters[0].play();
	}
		
	var item = document.getElementById("menuContainer" + id);
				
	if (!item) return;
	
	//** for firefox support **//
	var deltaFF = (navigator.appName == "Netscape" ? 14 : 0);
	
	var mainTable = document.getElementById("tbMain");
	var isRtl = (mainTable.dir == "rtl");
	
		
	item.style.top = _offsetTop(parent) + 36 + "px";
	if(!isRtl)
	{
		item.style.left = _offsetLeft(parent) - 1 - deltaFF + "px";
		
	}	
	else
	{
		var width = 25 + parent.offsetWidth;
		var delta = width - item.offsetWidth;
		
		item.style.left = _offsetLeft(parent) + delta -3 - deltaFF + "px";
		
		
	}
	//if (item.filters && item.filters.length)
	//	item.filters[0].apply();
	
	var itemIFrame = document.getElementById("divShim" + id);
			
	item.style.display = "block";
    itemIFrame.style.width = item.offsetWidth;
    itemIFrame.style.height = item.offsetHeight;
    itemIFrame.style.top = item.style.top;
    itemIFrame.style.left = item.style.left;
    itemIFrame.style.zIndex = item.style.zIndex - 1;
    itemIFrame.style.display = "block";
    
	item.style.visibility = "visible";
	//if (item.filters && item.filters.length)
	//	item.filters[0].play();
	menuItemCurrent = item;
	menuDivFrameCurrent = itemIFrame;
}

function hideSubMenu()
{
	if (!menuItemHide || !menuItemCurrent)
		return;
	//if (menuItemCurrent.filters && menuItemCurrent.filters.length)
	//	menuItemCurrent.filters[0].apply();
			
	menuItemCurrent.style.visibility = "hidden";
	menuDivFrameCurrent.style.display = "none";
	//if (menuItemCurrent.filters && menuItemCurrent.filters.length)
	//	menuItemCurrent.filters[0].play();
	menuItemCurrent = null;
	menuItemHide = false;
}


function _offsetTop(obj)
{
	var top = 0;
	for (; obj; obj=obj.offsetParent)
		top += obj.offsetTop;
	return top;
}

function _offsetLeft(obj)
{
	var left = 0;
	for (; obj && obj != document.body; obj=obj.offsetParent)
		left += obj.offsetLeft;
	return left;
}


// returns true if node a contains event.toElement/relatedTarget.
function containsToElement(a)
{
	var b = globalEvent.toElement ? globalEvent.toElement : globalEvent.relatedTarget;
	if (b == null) return;
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function printDocument()
{

	if (typeof(document.getElementById("tdContent"))=='object')
	{
		var str;
		str = '<html><head><link rel="stylesheet" href="include/default.css" type="text/css"></head><body  onload="ChangeHtml();window.print();window.close();" style=text-align:justify;>';
		str = str + '<img src="' + document.getElementById("imgTitle").src + '"';
										
		str = str + document.getElementById("tdContent").innerHTML;
				
		str  = str + '<script type="text/javascript">' + 
						'function ChangeHtml()' +
						'{' +
							'var tbPrints = document.getElementsByName("tbPrint");' +
							'var tdParents = document.getElementsByName("tdParent");' +
							'var tables = new Array();' +
							'var temp = new Array();' +
														
							'for(var m = 0; m < tdParents.length; m++) ' +
							'{ ' +
								'temp[m] = tdParents[m].childNodes[0];' +
							'}' +
														
							'for(var n =0; n < tbPrints.length; n++)' +
							'{' +
								'tables[tables.length] = tbPrints[n];'  +
							'}' +
																	
							'for(var n =0; n < temp.length; n++)' +
							'{' +
								'tables[tables.length] = temp[n];'  +
							'}' +										
																																			
							'for(var k =0; k < tables.length; k++) ' +
							'{ ' +
								'var tb = tables[k]; ' +
								
								'tb.cellSpacing = "0px"; ' +
								
								'var tr; ' +
								'for(var i=0; i < tb.rows.length;i++) ' +
								'{ '+
									'tr = tb.rows[i]; ' +
									'for(var j=0; j < tr.cells.length; j++) '+
										'{ '+
											'if(document.all) { ' +
												'if(tr.cells[j].innerText == "") ' +
													'tr.cells[j].innerText = " ";} ' +
											'else { ' + 
												'if(tr.cells[j].textContent == "") { ' +
													' var nbsp = document.createTextNode( "\u00A0" ); tr.cells[j].appendChild(nbsp); }} ' +
													
											'tr.cells[j].style.border = "1px solid #000000"; '+
										'} ' +	
								'} ' +	
								'tb.style.border = "1px solid #000000"; ' + 
							'} ' +	
						'} ' +
					 '</script>';
		
		str += '</body></html>';
		w=window.open('','newwin','top=5000','left=5000');
		w.document.write(str);
		w.document.close();
	}
}

function sendMail(catId,imgLink,specialPageId,specialPageLink)
{
	/*	
	str = '<html><head><link href="include/Default.css" rel="stylesheet" type="text/css"></head><body align=center>';
	str = str + '<img src="' + document.getElementById("imgTitle").src + '"';
	tr = str + window.document.all.tdContent.innerHTML + '</body></html>';
		
	var object = new Object();
	object.html = str;
	*/
		
	var url = "SendMail.aspx?catId=" + catId + "&imgLink=" + imgLink + "&specialCatId=" + specialPageId;
	if(specialPageLink != null && specialPageLink != "" && specialPageLink.length <= 4000)
		url += "&specialPageLink=" + escape(specialPageLink); 
	
	window.open(url,"mywindow","menubar=0,resizable=0,location=0,status=0,width=373,height=310");
	
}

/*
	Validate a form's elements according to varius attributes
*/

function validateForm(form,submit,title)
{

	var i, j, u, sum;
	var input;
	var valid;
	var sErrorMsg = "";

	if (!title)
		title = "Please correct the following(s):";
	
	for (i=0; i<form.elements.length; i++)
	{
		input = form.elements[i];
		
		// skip input when it's not rendered (ie. parent display:none)
		if (input.offsetHeight == 0) continue;
		valid = true;

		// Validate value according to element type and validation type
		
		switch (input.type.toLowerCase())
		{
		
		case "text":
		case "password":
		case "textarea":
		case "file":
			
			if (!input.getAttribute("validation"))
				input.setAttribute("validation", "string");
			if (input.getAttribute("mandatory"))
			{
				if (input.getAttribute("mandatory").toLowerCase() == "false" && input.value.length == 0) continue;
			}
			else
				continue;
				
			switch (input.getAttribute("validation").toLowerCase())
			{
			case "string":
				if (input.value.length == 0 || !/^[\u0400-\u04F9\u00A1-\u00FC\uA700-\uA71F\u3040-\u9FFF\u05D0-\u05EA\w\.\-\(\)\ :",?!]+$/m.test(input.value))
					valid = false;
				break;
			case "password":
				if (input.value.length == 0)
					valid = false;
				break;
			case "integer":
				if (!/\d+/.test(input.value))
					valid = false;
				break;
			case "email":
				if (!/^[\w\.\-]+@[\w\-]+(\.\w+)+$/.test(input.value))
					valid = false;
				break;
			case "phone":
				if (!/^\+?\d+(-\d+)*$/.test(input.value))
					valid = false;
				break;
			case "id":
				j = input.value.toString();
				input.value = j.replace(/\D/g, "");
				if (/\d+/.test(input.value))
				{
					sum = 0;
					for (j=0; j<input.value.length; j++)
					{
						u = (j % 2 ? 2 : 1) * parseInt(input.value.charAt(input.value.length - j - 1));
						sum += u > 9 ? Math.floor(u / 10) + u % 10 : u;
					}					
					if (sum % 10) valid = false;
				}
				else
					valid = false;
				break;
			case "compare":
				// Check the compareInput attribute
				if (input.getAttribute("compareInput"))
					if (input.value != form.elements[input.getAttribute("compareInput")].value)
						valid = false;
			}

			// Validate max and min according to validation type
			if (valid == true)
			{
				switch (input.getAttribute("validation").toLowerCase())
				{
				case "integer":
					if (input.getAttribute("validmax"))
					{
						if (parseInt(input.value) > parseInt(input.getAttribute("validmax")))
							valid = false;
					}
					if (input.getAttribute("validmin"))
					{
						if (parseInt(input.value) < parseInt(input.getAttribute("validmin")))
							valid = false;
					}
					break;
				default:
					if (input.getAttribute("validmax"))
					{
						if (input.value.length > input.getAttribute("validmax")) valid = false;
					}
					if (input.getAttribute("validmin"))
					{
						if (input.value.length < input.getAttribute("validmin")) valid = false;
					}
					break;
				}
			}
			break;
		case "select-one":
			if (input.getAttribute("mandatory"))
				if (input.selectedIndex == 0)
					valid = false;
			break;
		case "select-multiple":
			if (input.getAttribute("mandatory"))
			{
				sum = 0;
				for (j=0; j<input.options.length; j++)
				{
					if (input.options[j].selected) sum++;
				}
				if ((!input.getAttribute("validmax")) && (!input.getAttribute("validmin")))
				{
					if (sum == 0) valid = false;
				}
				else
				{
					if (input.getAttribute("validmax"))
					{
						if (sum > input.getAttribute("validmax")) valid = false;
					}
					if (input.getAttribute("validmin"))
					{
						if (sum < input.getAttribute("validmin")) valid = false;
					}
				}
			}
			break;
		case "checkbox":
			if (input.getAttribute("mandatory"))
				if (!input.checked)
					valid = false;
			break;
		}

		if (!valid)
		{
			if (input.getAttribute("validationError"))
				sErrorMsg += input.getAttribute("validationError") + "\n";
			else
				sErrorMsg += "Error in field " + input.name + "\n";
		}
	}
	if (sErrorMsg.length)
	{
	
		alert((title ? title + "\n" : "") + sErrorMsg + "\n You can't insert the following characters:{}'@#$%^&*;");
		//return false;
	}
	else
	{
		document.getElementById("postback").value = "1";
		
		if (submit)
			form.submit();
	
		return true;
	}
}

//*** PTP **///
function Validate(page,formID,ucPrefix)
{
	var temp = (ucPrefix == "" ? "" : ucPrefix + "_");

	var from = document.getElementById(temp == "" ? "ddlFromArea" : temp + "ddlFromArea");
	from.name = 'ddlFromArea';
	//alert(from.value);
	var to = document.getElementById(temp == "" ? "ddlToArea" : temp + "ddlToArea");
	to.name = 'ddlToArea';
	//alert(to.value);
	var origin = document.getElementById(temp == "" ? "ddlOrigin" : temp + "ddlOrigin");
	origin.name = 'ddlOrigin';
	//alert(origin.value);
	var destination = document.getElementById(temp == "" ? "ddlDestination" : temp + "ddlDestination");
	destination.name = 'ddlDestination';
	//alert(destination.value);
	var fromDate = document.getElementById(temp == "" ? "textFromDate" : temp + "textFromDate");
	fromDate.name = 'textFromDate';
	//alert(fromDate.value);
	var toDate = document.getElementById(temp == "" ? "textToDate" : temp + "textToDate");
	toDate.name = 'textToDate';
	//alert(toDate.value);
	
	var txtOrigin = document.getElementById(temp == "" ? "txtOriginPrt" : temp + "txtOriginPrt");
	if (txtOrigin != null)
	    txtOrigin.name = 'txtOriginPrt';
	
	var txtDest = document.getElementById(temp == "" ? "txtDestPrt" : temp + "txtDestPrt");
	if (txtDest != null)
	    txtDest.name = 'txtDestPrt';
	    
	if (txtOrigin != null && txtDest != null)
	{	    
	    if((origin.value == "-1" && txtOrigin.value == '') || (destination.value == "-1" && txtDest.value == '') || fromDate.value == "" || toDate.value == "")
	    {
		    alert("Please fill all fields");
		    return;
	    }
	}
	else
	{
	    if(/*from.value == "-1" || to.value == "-1" ||*/ origin.value == "-1" || destination.value == "-1" || fromDate.value == "" || toDate.value == "")   
	    {
	        alert("Please fill all fields");
		    return;
	    }
	}
	
	var t1 = fromDate.value.split("-");
	var day = parseFloat(t1[0]);
	var month = parseFloat(t1[1]);
	var year = parseFloat(t1[2]);
	var dateFrom = new Date(year,month-1,day);
	
	t1 = toDate.value.split("-");
	day = parseFloat(t1[0]);
	month = parseFloat(t1[1]);
	year = parseFloat(t1[2]);
	var dateTo = new Date(year,month-1,day);

	if(dateTo < dateFrom)
	{
		alert("'To' date must be later then 'From' date");
		return;
	}

//    alert(document.getElementById("ptpid").value);
//    alert(document.getElementById("l").value);

	document.getElementById("hidSearch").value = 'true';	
	
	if (page == "ASP.agencypointtopoint_aspx")
	{
	    document.forms[formID].action = "AgencyPointToPointResults.aspx?id="+document.getElementById("ptpid").value+"&l="+document.getElementById("l").value+"&al="+document.getElementById("al").value;
	}
	else if (page == "ASP.pointtopointnoajax_aspx")
	{
	    document.forms[formID].action = "Copy of PointToPointResult.aspx?id="+document.getElementById("ptpid").value+"&l="+document.getElementById("l").value;
	}
	else
	{
	    document.forms[formID].action = "PointToPointResult.aspx?id="+document.getElementById("ptpid").value+"&l="+document.getElementById("l").value;
	}
	    
	document.forms[formID].__VIEWSTATE.name = 'NOVIEWSTATE';
	document.forms[formID].submit();
}

function SwitchView()
{
	var innerText;
	
	if(document.all)
		innerText  = document.getElementById("aView").innerText;
	else
		innerText = document.getElementById("aView").textContent;
		
	if (innerText!='Summary view' && innerText!='Full view')
	{
		innerText='Summary view';
	}
	var b = (innerText == 'Summary view' || innerText == null);
	if(document.all)
		document.getElementById("aView").innerText = (b ? 'Full view' : 'Summary view');
	else
		document.getElementById("aView").textContent = (b ? 'Full view' : 'Summary view');
		
	if(b)
	{
		document.getElementById("trFull").style.display = "none";
		document.getElementById("trSummary").style.display = "";
	}
	else
	{
		document.getElementById("trFull").style.display = "";
		document.getElementById("trSummary").style.display = "none";
	}
}
	
var gSortType = "";
var gColToSort = "";
var gSortTypeLD = "";
var gSortTypeLA = "";
var gSortTypeTT = "";
function Sort(colToSort)
{	
    var tBody = document.getElementById("resultsTable").tBodies[0];
	if(!tBody)
		return;
	
	gColToSort = colToSort;
	
	switch (colToSort)
	{	
		case "tt":
			gSortType = gSortTypeTT = (gSortTypeTT == "" ? "desc" : gSortTypeTT == "desc" ? "asc" : "desc");
			break;
		case "la":
			gSortType = gSortTypeLA = (gSortTypeLA == "" ? "desc" : gSortTypeLA == "desc" ? "asc" : "desc");
			break;
		case "ld":
			gSortType = gSortTypeLD = (gSortTypeLD == "" ? "desc" : gSortTypeLD == "desc" ? "asc" : "desc");
			break;		
	}
				
	var rows = tBody.rows;
	var rowsArr = new Array();
	
	for(var i =0;i < rows.length; i++)
	{
		rowsArr[rowsArr.length] = rows[i];	
	}
					
	rowsArr = rowsArr.sort(CompareFunction);
		
	var bgColor = "#d4e8f5";
	for(var i =0;i < rowsArr.length; i++)
	{
		var tb = document.getElementById("tb" + rowsArr[i].id);
		var tbody = tb.tBodies[0];
		var rws = tbody.rows;
				
		for(var j=0;j < rws.length;j++)
		{	
			if(rws[j] != null && rws[j].style != null  && rws[j].style.backgroundColor != "")
				rws[j].style.backgroundColor = bgColor;
		}	
		
		tBody.appendChild(rowsArr[i]);
		
		bgColor = (bgColor == "#d4e8f5" ? "#ececec" : "#d4e8f5");
	}
	
	var img = document.getElementById("img_" + colToSort);
	if(img != null)
		img.src = (gSortType == "asc" || gSortType == "" ? "images/Arrow_Down.gif" : "images/Arrow_Up.gif");			
}

function CompareFunction(row1, row2)
{
	var sortValue1;
	var sortValue2;
	var sortType;
		
	switch (gColToSort)
	{
		case "tt":
			sortValue1 = parseFloat(row1.getAttribute("sortValueTT"));
			sortValue2 = parseFloat(row2.getAttribute("sortValueTT"));
			break;
		case "ld":
			sortValue1 = parseFloat(row1.getAttribute("sortValueDateD"));
			sortValue2 = parseFloat(row2.getAttribute("sortValueDateD"));
			if (isNaN(sortValue1))
				sortValue1 = Number.MIN_VALUE;
			if (isNaN(sortValue2))
				sortValue2 = Number.MIN_VALUE;
			break;
		case "la":
			sortValue1 = parseFloat(row1.getAttribute("sortValueDateA"));
			sortValue2 = parseFloat(row2.getAttribute("sortValueDateA"));
			if (isNaN(sortValue1))
				sortValue1 = Number.MIN_VALUE;
			if (isNaN(sortValue2))
				sortValue2 = Number.MIN_VALUE;
			break;	
		default:
			break;			
	}		
	
	/*	
	if(gSortType == "desc")
		return sortValue1 > sortValue2 ? -1 : sortValue1 == sortValue2 ? 0 : 1;
	else
		return sortValue1 < sortValue2 ? -1 : sortValue1 == sortValue2 ? 0 : 1;
	*/	
	
	if(gSortType == "desc")
		return sortValue2 - sortValue1;
	else
		return sortValue1 - sortValue2;	
}

function  ValidateTracing(controlID)
{
    if (controlID != '')
        controlID = controlID + "_";   
      
	if(document.getElementById(controlID + "textBLNumber").value == "" && document.getElementById(controlID + "textContainerNumber").value == "")
	{
		alert("You must enter either B/L or Container number");
		return;
	}	
	
	else if(/\s/.test(document.getElementById(controlID + "textBLNumber").value) || /\s/.test(document.getElementById(controlID + "textContainerNumber").value))
	{
		alert("Number can not contain spaces");
		return;
	}
	
	else if(document.getElementById(controlID + "textBLNumber").value != "")
		document.getElementById("hidSearchType").value = "1";
	else
		document.getElementById("hidSearchType").value = "2";
			
	document.getElementById("hidSearch").value = "true";
			
	document.forms["formTracing"].submit();			
}


function ShowHelp()
{
	var div = document.getElementById("divHelp");
	var qmark = document.getElementById("imgQmark");
		
	div.style.top = _offsetTop(qmark) + "px";
	div.style.left = _offsetLeft(qmark) + 30 + "px";
	div.style.visibility = "visible";
}

function CloseHelp()
{
	document.getElementById("divHelp").style.visibility = "hidden";	
}

function ValidateScheduleByPort()
{
	if(document.getElementById("selectPort").value == "-1" || document.getElementById("selectArea").value == "-1" || document.getElementById("textFromDate").value == "" || document.getElementById("textToDate").value == "")
	{
		alert("You must fill all fields");
		return;
	}
	
	var t1 = document.getElementById("textFromDate").value.split("-");
	var day = parseFloat(t1[0]);
	var month = parseFloat(t1[1]);
	var year = parseFloat(t1[2]);
	var dateFrom = new Date(year,month-1,day);
		
	t1 = document.getElementById("textToDate").value.split("-");
	day = parseFloat(t1[0]);
	month = parseFloat(t1[1]);
	year = parseFloat(t1[2]);
	var dateTo = new Date(year,month-1,day);
	
	if(dateTo < dateFrom)
	{
		alert("'To' date must be later then 'From' date");
		return;
	}
	
	document.getElementById("hidSearch").value = "true";
	document.getElementById('formScheduleByPort').submit();
}

function SubmitSearch()
{
if (document.getElementById("q").value.indexOf('<script')!=-1)
return;
	if(document.getElementById("q").value.length < 2)
		return;
		
	if (!/^[\u0400-\u04F9\u00A1-\u00FC\uA700-\uA71F\u3040-\u9FFF\u05D0-\u05EA\w\.\-\(\)\ :,?!]+$/m.test(document.getElementById("q").value))
	{
		alert("You can't insert the following characters:{}'@#$%^&*;<>");
		document.getElementById("q").value="";
		return;
	}
		
	document.searchForm.submit();
}

function SubmitAdvancedSearch(l)
{
if (document.getElementById("aq").value.indexOf('<script')!=-1)
return;
	if(document.getElementById("aq").value.length < 2)
		return;
		
	if (!/^[\u0400-\u04F9\u00A1-\u00FC\uA700-\uA71F\u3040-\u9FFF\u05D0-\u05EA\w\.\-\(\)\ :,?!]+$/m.test(document.getElementById("aq").value))
	{
		alert("You can't insert the following characters:{}'@#$%^&*;<>");
		document.getElementById("aq").value="";
		return;
	}
	
	document.location = "AdvancedSearch.aspx?l=" + l +"&aq=" + document.getElementById("aq").value;
}


function ValidateLocationDetails(controlID)
{
    index = controlID.lastIndexOf("_");
    ID = controlID.substring(0,index + 1);
    
    if(document.getElementById(ID + "selectCountry").value == "-1" &&  document.getElementById(ID + "selectState").value == "-1" && document.getElementById(ID + "textLocationName").value == "" && document.getElementById(ID + "textLocationCode").value == "")
	{
		alert("You must fill at least one option");
		return;		
		
	}
	document.getElementById("hidSearch").value = "true";
	document.getElementById("formLocationDetails").submit();
} 


function ValidateLongTerm()
{
	if( document.getElementById("selectLine").value == "-1" )
	{
		alert("You must select at least one Line");
		return;
				
	} 

	document.getElementById("formLongTerm").submit();
}

function ValidateVesselDetails(controlID)
{ 
    index = controlID.lastIndexOf("_");
    ID = controlID.substring(0,index + 1); 
    
    var vslName = trimAll(document.getElementById(ID + "textVesselName").value);
    var vslCode = trimAll(document.getElementById(ID + "textVesselCode").value);
	if(vslName == "" && vslCode == "")
	{
		alert("You must fill at least one option");
		return;
	}
	
	document.getElementById("hidSearch").value = "true";
	document.getElementById("formVesselDetails").submit();
}

function trimAll(sString) 
{
    while (sString.substring(0,1) == ' ')
        {
        sString = sString.substring(1, sString.length);
        }
    while (sString.substring(sString.length-1, sString.length) == ' ')
        {
        sString = sString.substring(0,sString.length-1);
        }
    return sString;
}

function ValidateScheduleByVessel()
{
	if(document.getElementById("selectVessel").value == "-1")
	{
		alert("You must choose vessel");
		return;
	}
	
	var select = document.getElementById("selectVessel");
	var item = select.options[select.selectedIndex];
	
	document.getElementById("hidFullName").value = item.getAttribute("RealName");
	document.getElementById("hidSearch").value = "true";
	document.getElementById("formScheduleByVessel").submit();
}

function ShowVesselPopUp(vesCode)
{
	var url = "VesselDetailsPopup.aspx?vesCode=" + vesCode;
	
	window.open(url,"mywindow","menubar=0,resizable=0,location=0,status=0,width=480,height=300");
}

function ValidateQuickFind()
{
	if(document.getElementById("selectCountry").value == "-1" && document.getElementById("selectCity").value == "-1")
	{
		alert("You must choose either country or city");
		return;
	}
	
	document.getElementById("hidSubmit").value = "true";
	document.getElementById("searchType").value = "9";
	document.getElementById("cFullName").value = document.getElementById("selectCountry").options[document.getElementById("selectCountry").selectedIndex].getAttribute("FullName");
	document.getElementById("formQuickFind").submit();
}


function PrintLikePDF()
{

	var url = document.location.href;
	while (url.indexOf('?')> -1 || url.indexOf('&')> -1)
	{
		url = url.replace(/\?/,'^');
		url = url.replace(/\&/,'!');
	}	
	
	url = "Print.aspx?URL="+url;
	
	var wid = window.screen.width-50;
	var hei = window.screen.height-100;
	var w1 = window.open(url,"_blank","left=5000,top=5000,fullscreen=no,toolbar=no,menubar=yes,location=no,width="+wid+",height="+hei);
	
}

function createPDF()
{
    var sPath = window.location.pathname;
    //var sPage = sPath.substring(sPath.lastIndexOf('\\') + 1);
    var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);

	var url = document.location.href; //sPage;//document.location.href;

	//if (document.location.href.indexOf("PointToPointResult") > -1)
	//{
	// url=url.replace("Result","");
	//}
	
	if(document.location.href.indexOf("PointToPoint") > -1 )
	{
	
	var hidSearch = document.getElementById('hidSearch').value;
	var hidFromHomePage = document.getElementById('hidFromHomePage').value;
	
	var ddlFromArea = document.getElementById('ddlFromArea').value 
	var ddlToArea = document.getElementById('ddlToArea').value;
	var ddlOrigin = document.getElementById('ddlOrigin').value;
	var ddlDestination = document.getElementById('ddlDestination').value;
	
	//var ddlOrigin = document.getElementById('ddlOrigin').value;
	//var ddlDestination = document.getElementById('ddlDestination').value 
	var rbList = 'rbDeparture';
	try
	{
	 if (!(document.getElementById('rbList_0').checked))
		rbList = 'rbArrival';
	}
	catch (ex) {}

	var textFromDate = document.getElementById('textFromDate').value;
	var textToDate = document.getElementById('textToDate').value 
	
		url= url + 
				"&hidSearch=true&hidFromHomePage="+hidFromHomePage +   
				"&ddlFromArea=" + ddlFromArea +
				"&ddlToArea=" + ddlToArea + 
				"&ddlOrigin=" + ddlOrigin +
				"&ddlDestination="+ddlDestination +
				"&rbList=" + rbList +
		        "&textFromDate=" + textFromDate +
		        "&textToDate=" + textToDate;
		
		//if (ddlFromArea<0 || ddlToArea<0 ||ddlOrigin<0 || ddlDestination<0 ||  textFromDate=='' || textToDate=='')
		//{
		//	alert ("Please select all fields before creating PDF.");
		//	return;
		//}
				
		       
	}
	

	
	while (url.indexOf('?')> -1 || url.indexOf('&')> -1)
	{
		url = url.replace(/\?/,'^');
		url = url.replace(/\&/,'!');
	}	
	
	url = "pdf.aspx?URL="+url;
	
	var wid = window.screen.width-50;
	var hei = window.screen.height-100;
	window.open(url,"_blank","left=20,top=20,fullscreen=no,toolbar=no,location=no,menubar=no,width="+wid+",height="+hei);
}

//Menu

var currentIframeContainer = new Array();
var currentMenuContainer = new Array();
var currentMenuRow = null;
var currentMenuFlag = false;
var globalEvent;
var ie = document.all;

function offsetTopx(obj)
{
	var top = 0;

	for (; obj; obj=obj.offsetParent)
		top = top + obj.offsetTop;
	return top;
}

function offsetLeftx(obj)
{
	
	var left = 0;
	var i=0;
	for (; obj && obj != document.body; obj=obj.offsetParent)
	{
	i++;
		left = left + obj.offsetLeft;
	}
	//alert(obj.offsetParent);
	return left;
}

function loadMenu(parentMenu)
{
	var menuContainer = document.getElementById("menuContainer" + parentMenu.id.substr(7));
	var l=0;
	if (parentMenu.getAttribute("bgcolorOver"))
		parentMenu.style.backgroundColor = parentMenu.getAttribute("bgcolorOver");
	if (parentMenu.getAttribute("colorOver"))
		parentMenu.style.color = parentMenu.getAttribute("colorOver");

	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);

	if (menuContainer)
	{
		
		t = offsetTopx(parentMenu) + parentMenu.offsetHeight - 4;
		t=t+"px";		
		menuContainer.style.top=t;
		//if (offsetLeftx(parentMenu) + menuContainer.offsetWidth > document.body.offsetWidth - 20)
		//{
			
		//	if(menuContainer.style.direction=="rtl")									
		//	l=document.body.offsetWidth - menuContainer.offsetWidth - 30;											
		//	else
		//	l=document.body.offsetWidth - menuContainer.offsetWidth - 12;											
		//}
		//else
		//		{		
			
				if(menuContainer.style.direction=="rtl")														
					l=offsetLeftx(parentMenu) + parentMenu.offsetWidth - menuContainer.offsetWidth+10;
				
				else
					l=(offsetLeftx(parentMenu)-12);						
										
			
		//}	
		menuContainer.style.left = l+"px";						
		menuContainer.style.visibility = "visible";
		currentMenuContainer[currentMenuContainer.length] = menuContainer;
				
		var itemIFrame = document.getElementById("divShim" + parentMenu.getAttribute("id").substr(7));

			
		menuContainer.style.display = "block";
		itemIFrame.style.width = menuContainer.offsetWidth;
		itemIFrame.style.height = menuContainer.offsetHeight;
		itemIFrame.style.top = menuContainer.style.top;
		itemIFrame.style.left = menuContainer.style.left;
		itemIFrame.style.zIndex = menuContainer.style.zIndex + 1;
		itemIFrame.style.display = "block";
	    
	    if(currentIframeContainer[parentMenu.getAttribute("id").substr(7)] == null)
			currentIframeContainer[parentMenu.getAttribute("id").substr(7)] = itemIFrame;
	    
	    
		//item.style.visibility = "visible";
		//if (item.filters && item.filters.length)
		//	item.filters[0].play();
		
	}
}

function loadSubMenu(parentMenuRow)
{//debugger
	var menuContainer = document.getElementById("menuContainer" + parentMenuRow.getAttribute("id").substr(7));
	var parentMenuContainer = document.getElementById("menuContainer" + parentMenuRow.getAttribute("parentID"));
	var l=0;
	
	menuContainer.style.visibility = "visible";
	var t=(parentMenuRow.offsetTop + parentMenuContainer.offsetTop) + "px";
	menuContainer.style.top = t;
		
	if (parentMenuContainer.offsetLeft - menuContainer.offsetWidth + 1 < 0)							
	{
		//if(menuContainer.getAttribute("dir")=="rtl")
		//l=(offsetLeftx(parentMenuContainer) + parentMenuContainer.offsetWidth +30)+ "px";
		//else

		if(menuContainer.style.direction=="rtl")									
		l = parentMenuContainer.offsetLeft - menuContainer.offsetWidth + 4+"px";
		else
		l=(offsetLeftx(parentMenuContainer) + parentMenuContainer.offsetWidth -3)+ "px";
		
		
	}
	else
	{
	
		if (parentMenuContainer.offsetLeft + parentMenuContainer.offsetWidth - 10 + menuContainer.offsetWidth > document.body.offsetWidth - 25)		
		{
		if(menuContainer.style.direction=="rtl")									
		l = parentMenuContainer.offsetLeft - menuContainer.offsetWidth + 4+"px";
		else
		l=(offsetLeftx(parentMenuContainer) + parentMenuContainer.offsetWidth -3)+ "px";
		}	
		else
		{
		if(menuContainer.style.direction=="rtl")									
		l = parentMenuContainer.offsetLeft - menuContainer.offsetWidth + 4+"px";
		else
		l=(offsetLeftx(parentMenuContainer) + parentMenuContainer.offsetWidth -3)+ "px";
		}
	}		
	
	menuContainer.style.left = l;
	currentMenuContainer[currentMenuContainer.length] = menuContainer;
	

	var itemIFrame = document.getElementById("divShim" + parentMenuRow.getAttribute("id").substr(7));

				
	//menuContainer.style.display = "block";
	itemIFrame.style.width = menuContainer.offsetWidth;
	itemIFrame.style.height = menuContainer.offsetHeight;
	itemIFrame.style.top = menuContainer.style.top;
	itemIFrame.style.left = menuContainer.style.left;
	itemIFrame.style.zIndex = menuContainer.style.zIndex +1;
	itemIFrame.style.display = "block";
	   
	if(currentIframeContainer[parentMenuRow.getAttribute("id").substr(7)] == null)
			currentIframeContainer[parentMenuRow.getAttribute("id").substr(7)] = itemIFrame;
}

// Return true if node a contains node b.
function contains(a, b) 
{
	if(b == null)
		return;
	while (b.parentNode)
	{
		if ((b = b.parentNode) == a)
		{
			return true;
	    }
	}
	return false;
	
}


function menuContainerOut(menuContainer)
{
	var toHide = true;

	if (menuContainer)
	{
		if (menuContainer == currentMenuContainer[currentMenuContainer.length-1])
		{			
			if(ie)
			{
				if (event && menuContainer.contains(event.toElement))
					toHide = false;
				else
				{
					if (event && currentMenuContainer[currentMenuContainer.length-1].contains(event.toElement))
						toHide = false;
				}
			}
			else
			{	

				if (globalEvent && contains(menuContainer,globalEvent.relatedTarget) )
				{
					toHide = false;
				}
				else if (globalEvent && contains(currentMenuContainer[currentMenuContainer.length-1],globalEvent.relatedTarget))
						toHide = false;

			}			

			if (toHide)
			{
			
				menuContainer.style.visibility = "hidden";
				currentMenuContainer.length--;
				

				if(currentIframeContainer[menuContainer.getAttribute("id").substr(13)] != null)
				{
					currentIframeContainer[menuContainer.getAttribute("id").substr(13)].style.display="none";
				}
								
				if (currentMenuContainer.length)
					menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
			}
		}
		else
		{
			menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
		}
	}
}

function menuRowOver(menuRow)
{


	tohide=true;
	hideSelect(tohide);
	var menuContainer = document.getElementById("menuContainer" + menuRow.getAttribute("parentID"));
	if (!ie)
	{
	  menuContainer = document.getElementById("menuContainer" + menuRow.id.substr(7) );
	}
	if (!menuContainer)
		menuContainer = menuRow;
	if (menuContainer.getAttribute("bgcolorOver"))
		menuRow.style.backgroundColor = menuContainer.getAttribute("bgcolorOver");
	if (menuContainer.getAttribute("colorOver"))
		menuRow.style.color = menuContainer.getAttribute("colorOver");
	currentMenuRow = menuRow;
	
	if (menuRow != menuContainer)
	{
		if (document.getElementById("menuContainer" + menuRow.getAttribute("id").substr(7)))
			loadSubMenu(menuRow);
	}

	currentMenuFlag = false;
}

function checkMenuRowOut(menuRow)// not in use !!!!!!!!!!
{//debugger
	if(ie)
	{
		if (!menuRow.contains(event.toElement)) 
			menuRowOut(menuRow);
			
	}
	else
	{
		if (contains(menuRow, globalEvent.relatedTarget) == false) 
			menuRowOut(menuRow);	
			
	}	
}

function menuRowOut(menuRow, isTop)
{

	tohide=false;
	hideSelect(tohide);
	var menuContainer = document.getElementById("menuContainer" + menuRow.parentID);
	if (!ie)
	{
	  menuContainer = document.getElementById("menuContainer" + menuRow.id.substr(7) );
	 
	}

	if (!menuContainer)
	{
		menuContainer = menuRow;
		}
	if (menuContainer.getAttribute("bgcolorOver"))
		menuRow.style.backgroundColor = "";
	if (menuContainer.getAttribute("colorOver"))
		menuRow.style.color = "";
	if (isTop)
	{ 
		currentMenuFlag = true;
		setTimeout("clearMenu();", 500);
	}
}

function clearMenu()
{

	if (currentMenuFlag == false)
		return;
	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
}






function hideSelect(tohide)
{

}

function updateCombo(value,elmnt,defaultText,defaultVal)
{
	var arr=(document.getElementById(value).innerHTML+"").split(';');

	elmnt.innerHTML="";

	//	while (elmnt.options.length>0)
	//	{
	//		elmnt.options.remove(0);
	//	}
	var oOption = document.createElement("option");
	elmnt.options.add(oOption);
	oOption.innerHTML = defaultText;
	oOption.value = defaultVal;
	for(var i=0;i<arr.length-1;i++)
	{
		var oOption = document.createElement("option");
		elmnt.options.add(oOption);
		oOption.innerHTML = arr[i].split(',')[1];
		oOption.value = arr[i].split(',')[0];
	}
}


function ClearAllAndSetValue(controlID)
{
    val = document.getElementById(controlID).value; 
    index = controlID.lastIndexOf("_");
    ID = controlID.substring(0,index + 1);  
    
    if (controlID != ID + "selectState")
    {    
        document.getElementById(ID + "selectCountry").value = "-1";
        document.getElementById(ID + "selectState").value = "-1";
        document.getElementById(ID + "textLocationName").value = "";
        document.getElementById(ID + "textLocationCode").value = "";
    }
    else
    {
        document.getElementById(ID + "textLocationName").value = "";
        document.getElementById(ID + "textLocationCode").value = "";
    }
    
    document.getElementById(controlID).value = val;
    
    
    if (controlID == ID + "selectCountry")
    {
        document.getElementById('formLocationDetails').submit();
    }
}

function VesselClearAllAndSetValue(controlID)
{
    val = document.getElementById(controlID).value;
    index = controlID.lastIndexOf("_");
    ID = controlID.substring(0,index + 1); 
    
    document.getElementById(ID + "textVesselName").value = "";
    document.getElementById(ID + "textVesselCode").value = "";
    
    document.getElementById(controlID).value = val;
}