	var PanelOne = null;
	var PanelTwo = null;
	function chSearchType(sType)
	{
		if(PanelOne==null)PanelOne = document.getElementById("PanelOneTBL");
		if(PanelTwo==null)PanelTwo = document.getElementById("PanelTwoTBL");
		switch(sType){
			case "RoundTrip" : {
				PanelOne.style.display = "block";
				PanelTwo.style.display = "none";
				document.getElementById("ReturnFlightTR").style.display = document.all? "block" : "table-row";
				break;
			}
			case "OneWay" : {
				PanelOne.style.display = "block";
				PanelTwo.style.display = "none";
				document.getElementById("ReturnFlightTR").style.display = "none";
				break;
			}
			case "MultiDestination" : {
				PanelOne.style.display = "none";
				PanelTwo.style.display = "block";
				document.getElementById("ReturnFlightTR").style.display = "none";
				buildPanelTwo();
				break;
			}
		}
	}
	function buildPanelTwo()
	{
		segTotal = document.forms["AirSearchForm"].segCount.value;
		segToAdd = segTotal - (PanelTwo.rows.length-1);
		for(s=0;s<segToAdd;s++)addSegment();
	}
	function addSegment(){
		rowToAdd = PanelTwo.rows[PanelTwo.rows.length-2];
		rowIndex = PanelTwo.rows.length-1;
		//alert(rowIndex);
		newRow = PanelTwo.insertRow(rowIndex);
		for(i=0;i<rowToAdd.cells.length;i++){
			newCell = newRow.insertCell(i);
			innerHTML = rowToAdd.cells[i].innerHTML;
			switch(i){
				case 1 : {innerHTML = innerHTML.replace("fromCity_" + rowIndex,"fromCity_" + (rowIndex+1));break;}
				case 3 : {innerHTML = innerHTML.replace("toCity_" + rowIndex,"toCity_" + (rowIndex+1));break;}
				case 5 : {innerHTML = innerHTML.replace("flyDate_" + rowIndex,"flyDate_" + (rowIndex+1));break;}
				case 7 : {innerHTML = innerHTML.replace("flyTime_" + rowIndex,"flyTime_" + (rowIndex+1));break;}
			}
			//alert(innerHTML);
			newCell.innerHTML = innerHTML;
		}
		eButtons();
	}
	function removeSegment(){
		PanelTwo.deleteRow(PanelTwo.rows.length-2);
		eButtons();
	}
	function eButtons()
	{
		segCount = PanelTwo.rows.length-1;
		document.forms["AirSearchForm"].segCount.value = segCount;
		document.getElementById("AddSegmentBTN").disabled = segCount<8 ? false : true;
		document.getElementById("DelSegmentBTN").disabled = segCount>1 ? false : true;
	}
	function focusObj(obj){
		if(obj.value==obj.getAttribute("defValue"))obj.value="";
	}
	function blurObj(obj){
		if(obj.value=="")obj.value = obj.getAttribute("defValue");
		//window.setTimeout(hideList2,100);
		//hideList2();
	}
	function OpenWin(url,name,features){
		window.open(url,name,features);
	}
	function ValidateSearch()
	{
	
	    alert_message = "";
		formObj = document.forms["AirSearchForm"];
		
		//date validation - 04/14/08 - kunjan
		if(formObj.searchType[0].checked==true || formObj.searchType[1].checked==true)
		{			
			if (formObj.flyDate_from.value == "" || formObj.flyDate_from.value == formObj.flyDate_from.getAttribute("defValue"))
				alert_message += " - Departure date\n";
		
				var Error='';
				  if(Error= ValidateDate(formObj.flyDate_from.value))
			      {
			       if (Error!='')
			        {
					alert_message += " - Departure Date - " + Error+"\n";
					}
			}
			if(formObj.searchType[0].checked==true)
			{
				if (formObj.flyDate_return.value == "" || formObj.flyDate_return.value == formObj.flyDate_return.getAttribute("defValue"))
				alert_message += " - Return date\n";
				
				if (formObj.flyDate_from.value != "" && formObj.flyDate_return.value != "" &&  formObj.flyDate_from.value != formObj.flyDate_from.getAttribute("defValue") && formObj.flyDate_return.value != formObj.flyDate_return.getAttribute("defValue"))
				{
				    Error='';
					if(Error=ValidateDate(formObj.flyDate_return.value))
					{
					
					if(Error!='')
					{
							alert_message += " - Return Date - "+ Error +"\n";
				    }
					}
					
				    if (formObj.flyDate_from.getAttribute("defValue") == "dd/mm/yyyy")
				    {
				        var tmp=formObj.flyDate_from.value.split('/');
				        var flyDate_from;
				        var flyDate_return;
				        
				        if (tmp.length == 3)
			                flyDate_from=tmp[1]+"/"+tmp[0]+"/"+tmp[2];
			                
        			    tmp=formObj.flyDate_return.value.split('/');
        			    
        			    if (tmp.length == 3)
		        	        flyDate_return=tmp[1]+"/"+tmp[0]+"/"+tmp[2];
    			        
			            if(new Date(flyDate_from) > new Date(flyDate_return))    
						    alert_message += " - Return date should be greater than departure date\n";
						 
						// ValidateDate();
					}
					else
					{
					    if(new Date(formObj.flyDate_from.value) > new Date(formObj.flyDate_return.value))    
						    alert_message += " - Return date should be greater than departure date\n";
					}
				}
			}
		}
		
		if(formObj.searchType[2]!=null) 
		{
			if(formObj.searchType[2].checked)
			{	
				var isExit = false;
				for(i=1;i<=document.forms["AirSearchForm"].segCount.value;i++)
				{
				var Error='';
				    if(Error=ValidateDate(formObj["flyDate_" + i].value))
			        {
			            if(Error!='')
			            {
				        alert_message += " - flight #"+ i + " departure date - "+  Error  +"\n";
				        }
			        }
					if(i>1)
					{
						for(j=1;j<i;j++)
						{
						    
							if (formObj["flyDate_" + i].getAttribute("defValue") == "dd/mm/yyyy")
				            {
				                var tmp=formObj["flyDate_" + i].value.split('/');
				                var flyDate_from;
				                var flyDate_return;
				                
				                if (tmp.length == 3)
			                        flyDate_from=tmp[1]+"/"+tmp[0]+"/"+tmp[2];
			                    
			                    tmp=formObj["flyDate_" + j].value.split('/');
			                    
			                    if (tmp.length == 3)
			                        flyDate_return=tmp[1]+"/"+tmp[0]+"/"+tmp[2];
			                    
			                    if(flyDate_from < flyDate_return && formObj["flyDate_" + i].value != "" &&formObj["flyDate_" + i].value != formObj["flyDate_" + i].getAttribute("defValue"))
							    {
								    isExit = true;
								    alert_message += " - flight #"+ i +" departure date\n";
								    break;
							    }
		        	        }
							else
							{
							    //alert(formObj["flyDate_" + j].value);
							    
							    if(Date.parse(formObj["flyDate_" + i].value) < Date.parse(formObj["flyDate_" + j].value) && formObj["flyDate_" + i].value != "" &&formObj["flyDate_" + i].value != formObj["flyDate_" + i].getAttribute("defValue"))
							    {
								    isExit = true;
								    alert_message += " - flight #"+ i +" departure date\n";
								    break;
							    }
							}
						}
					}
					if (isExit) break;
				}
			}
		}
		//date validation end
		

		if(formObj.searchType[0].checked==false && formObj.searchType[1].checked==false)
		{
			if(formObj.searchType[2]!=null)
			{
			 	if(formObj.searchType[2].checked==false)
				{
					alert("Please choose trip type");
					return false;
				}	
			}
			else
			{
				alert("Please choose trip type");
				return false;
			}
		}

		if(formObj.searchType[0].checked) {
			if(formObj.fromCity.value == "" || formObj.fromCity.value == formObj.fromCity.getAttribute("defValue"))alert_message += " - departure city\n";
			/*if(formObj.flyDate_from.value == "" || formObj.flyDate_from.value == formObj.flyDate_from.getAttribute("defValue"))alert_message += " - departure date\n";*/
			if(formObj.toCity.value == "" || formObj.toCity.value == formObj.toCity.getAttribute("defValue"))alert_message += " - arrival city\n";
			/*if(formObj.flyDate_return.value == "" || formObj.flyDate_return.value == formObj.flyDate_return.getAttribute("defValue"))alert_message += " - return date\n";*/

		}
		else if(formObj.searchType[1].checked) {
			if(formObj.fromCity.value == "" || formObj.fromCity.value == formObj.fromCity.getAttribute("defValue"))alert_message += " - departure city\n";
			if(formObj.toCity.value == "" || formObj.toCity.value == formObj.toCity.getAttribute("defValue"))alert_message += " - arrival city\n";
			/*if(formObj.flyDate_from.value == "" || formObj.flyDate_from.value == formObj.flyDate_from.getAttribute("defValue"))alert_message += " - departure date\n";*/
		}
		else if(formObj.searchType[2]!=null) 
		{
			if(formObj.searchType[2].checked)
			{				
				for(i=1;i<=document.forms["AirSearchForm"].segCount.value;i++)
				{
					/*if(formObj["fromCity_" + i].value == "" || formObj["fromCity_" + i].value == formObj["fromCity_" + i].getAttribute("defValue"))alert_message += " - flight #"+ i +" departure city\n";
					if(formObj["toCity_" + i].value == "" || formObj["toCity_" + i].value == formObj["toCity_" + i].getAttribute("defValue"))alert_message += " - flight #"+ i +" arrival city\n";
					if(formObj["flyDate_" + i].value == "" || formObj["flyDate_" + i].value == formObj["flyDate_" + i].getAttribute("defValue"))alert_message += " - flight #"+ i +" departure date\n";*/
					
					if(formObj["fromCity_" + i].value == "")alert_message += " - flight #"+ i +" departure city\n";
					if(formObj["toCity_" + i].value == "")alert_message += " - flight #"+ i +" arrival city\n";
					if(formObj["flyDate_" + i].value == "" || formObj["flyDate_" + i].value == formObj["flyDate_" + i].getAttribute("defValue"))alert_message += " - flight #"+ i +" departure date\n";
									
					
				}
			}
		}
		passNum = parseInt(formObj.aCount.value) + parseInt(formObj.cCount.value);
		if(formObj.sCount!=null)
		{
			passNum=passNum + parseInt(formObj.sCount.value) ;
		}	
		if(formObj.yCount!=null)
		{
			passNum=passNum + parseInt(formObj.yCount.value) ;
		}	
		
		if(passNum == 0){
			alert_message += " - the number of passengers travelling \n";
		}
		
		if(alert_message!=""){
			alert("The following information was not provided : \n" + alert_message);
			return false;
		}
		return true;
	}	
	//--- ADDED	 BY URVI -TO CHECK DATE
	function ValidateDate(d1)
    {
    
      
        var curDate=new Date();
        var Error='';
        var d=curDate.getDate();
        var m = parseInt(curDate.getMonth()) + 1;
        var y=parseInt(curDate.getFullYear()) + 2 ;
var y1=curDate.getFullYear();
        var d2= m+'/'+d+'/'+y;
        
        var pastdate = m+'/'+d+'/'+ y1;
       
      
            var dt1=getDateObject(d1,"/");
            var dt2=getDateObject(d2,"/");
            var dt3=getDateObject(pastdate,"/");      
           
      
            if(dt1=='0')
            {
                Error=' Enter Date as mm/dd/yyyy';
            }
            if(dt1=='01' || dt1=='02')
            {        
                         Error=' Check Days of Month';
            }
            if(Error=='')
            {
             if(dt1 < dt3)
             {
                    Error='Date Should not be less than current Date';
                   return Error;
              }

            if(dt1 > dt2)
            {
                 Error='should be Less than 2 years from Current Date';
         
            }
            else{
                Error='';
                }          
	        }
	        else
	        {
	            return Error;
	        }
	        return Error;
	  
}

function getDateObject(dateString,dateSeperator)
{
	//This function return a date object after accepting 
	//a date string ans dateseparator as arguments
	
	var curValue=dateString;
	var sepChar=dateSeperator;
	var curPos=0;
	var cDate,cMonth,cYear;

	//extract day portion
	curPos=dateString.indexOf(sepChar);
	cMonth=dateString.substring(0,curPos);
	//extract month portion				
	endPos=dateString.indexOf(sepChar,curPos+1);			
	cDate=dateString.substring(curPos+1,endPos);
    
	//extract year portion				
	curPos=endPos;
	endPos=curPos+5;			
	cYear=curValue.substring(curPos+1,endPos);
	
	
	//Create Date Object
	var dtObject;
	if(cMonth>12)
	{
	      //  alert('Enter Date as mm/dd/yyyy');
	dtObject='0';
	 //  alert('Error in FormatDate');
	}
	else
	{
	
	if(cMonth=='2' || cMonth=='02')
	{
        var days=daysInFebruary(cYear);        
        if(cDate > days)
        {
       	       dtObject = '01';
	    }
	    else
	    {
	     dtObject=new Date(cYear,cMonth,cDate);	
	    }
	}
	else
	{
	    var days=checkDaysInMonth(cMonth);
	   
	    if(cDate > days)
	    {
	        
	        dtObject='02';
	    }
	    else
	    {
	     dtObject=new Date(cYear,cMonth,cDate);	
	    }
	 }
	}
	return dtObject;
}
function checkDaysInMonth(cMonth)
{
var days;
if(cMonth=='1' || cMonth=='01' || cMonth=='3' || cMonth=='03' || cMonth=='5' || cMonth=='05' || cMonth=='7' || cMonth=='07' || cMonth=='8' || cMonth=='08' || cMonth=='10' || cMonth=='12')
    {
            days=31; 
    }
    if(cMonth=='4' || cMonth=='04' || cMonth=='6' || cMonth=='06' || cMonth=='9' || cMonth=='09' || cMonth=='11')
    {
        days=30; 
     }
 return days;
    
}
function daysInFebruary (year){
// February has 29 days in any year evenly divisible by four,
// EXCEPT for centurial years which are not also divisible by 400.
return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
		//----------
	
	var cObj;
	var hCalInt = null;
	
	function showCalendar(obj){alert("call");
			window.clearInterval(hCalInt)
			cObj = obj;
			cBody = document.getElementById("calBody");
			cBody.style.left=obj.offsetLeft;			
			cBody.style.top=obj.offsetTop + obj.offsetHeight + 1;
			window.frames["calBody"].selectDate(obj.value,obj.attributes["minDate"].value,obj.attributes["maxDate"].value);
			cBody.style.display='block';			
			cObj.select();				
		}
	function showCalendar(obj,formatdt){
		window.clearInterval(hCalInt)
		cObj = obj;
		cBody = document.getElementById("calBody");
		if(document.getElementById("ModifySearch")!=null)
		{
			cBody.style.left=document.getElementById("ModifySearch").offsetLeft+obj.offsetLeft;
			cBody.style.top=obj.offsetTop + obj.offsetHeight+document.getElementById("ModifySearch").offsetTop + 1;
		}
		else
		{														 
			cBody.style.left=obj.offsetLeft;
			cBody.style.top=obj.offsetTop + obj.offsetHeight + 1;	
		}
		if(formatdt!=null)
			window.frames["calBody"].setdtfor(formatdt);
		window.frames["calBody"].selectDate(obj.value,obj.attributes["minDate"].value,obj.attributes["maxDate"].value);
		cBody.style.display='block';
		cObj.select();
	}
	function hideCalendar(obj){
		if(!document.all || document.activeElement.id=='calBody') return;
		window.frames["calBody"].selectDate(obj.value,obj.attributes["minDate"].value,obj.attributes["maxDate"].value);
		doHideCal(obj);
	}
	function doHideCal(obj){
		window.clearInterval(hCalInt)
		cBody = document.getElementById("calBody");
		cBody.style.display='none';
		cObj.value = window.frames["calBody"].selDate;
		if(cObj.attributes["raiseChangeEvent"].value=='true')calChange(cObj);
	}
	function calChange(calObj){
		formObj = document.forms["AirSearchForm"];
		switch(calObj.name)
		{
			case "flyDate_from" : formObj["flyDate_return"].attributes["minDate"].value = calObj.value;break;
			case "flyDate_1" : if(formObj["flyDate_2"]){formObj["flyDate_2"].attributes["minDate"].value = calObj.value;}break;
			case "flyDate_2" : if(formObj["flyDate_3"]){formObj["flyDate_3"].attributes["minDate"].value = calObj.value;}break;
			case "flyDate_3" : if(formObj["flyDate_4"]){formObj["flyDate_4"].attributes["minDate"].value = calObj.value;}break;
			case "flyDate_4" : if(formObj["flyDate_5"]){formObj["flyDate_5"].attributes["minDate"].value = calObj.value;}break;
			case "flyDate_5" : if(formObj["flyDate_6"]){formObj["flyDate_6"].attributes["minDate"].value = calObj.value;}break;
			case "flyDate_6" : if(formObj["flyDate_7"]){formObj["flyDate_7"].attributes["minDate"].value = calObj.value;}break;
			case "flyDate_7" : if(formObj["flyDate_8"]){formObj["flyDate_8"].attributes["minDate"].value = calObj.value;}break;
		}
	}
	
	
	var lObj;
	var hListInt = null;
	function showAirportsList(obj){
		window.clearInterval(hListInt)
		lObj = document.forms["AirSearchForm"][obj];
		lBody = document.getElementById("listBody");

		if(document.getElementById("ModifySearch")!=null)
		{
			lBody.style.left=document.getElementById("ModifySearch").offsetLeft+lObj.offsetLeft;
			lBody.style.top=lObj.offsetTop + lObj.offsetHeight+ document.getElementById("ModifySearch").offsetTop + 1;
		}
		else
		{
			lBody.style.left=lObj.offsetLeft;
			lBody.style.top=lObj.offsetTop + lObj.offsetHeight + 1;
		}
		
		
		//window.frames["listBody"].selectAirport(lObj.value);
		lBody.style.display='block';
		lObj.select();
	}
	function hideList(obj){
		if(!document.all || document.activeElement.id=='listBody') return;
		doHideList();
	}
	function doHideList(){
		window.clearInterval(hListInt)
		lBody = document.getElementById("listBody");
		lBody.style.display='none';
	}

	function buildList(obj)
	{
		lObj = obj;
		strVal = lObj.value.toLowerCase();
		lBody = document.getElementById("listBody2");
		lBodyDoc = window.frames["listBody2"].document;
		if(strVal.length > 2)
		{
			
			if(document.getElementById("ModifySearch")!=null)
			{
				lBody.style.left=document.getElementById("ModifySearch").offsetLeft+lObj.offsetLeft;
				lBody.style.top=lObj.offsetTop + lObj.offsetHeight+ document.getElementById("ModifySearch").offsetTop + 1;
			}
			else
			{
				lBody.style.left=lObj.offsetLeft+"px";
				lBody.style.top=lObj.offsetTop + lObj.offsetHeight + 1+"px";
			}
		
			//search
			foundValues = new Array()
			for(a in a_values)
			{
				for(i=0;i<a_values[a].length;i++){
					str = a_values[a][i].split(":");
					if(str[0].toLowerCase().indexOf(strVal)==0)
					{ 
						//foundValues[foundValues.length] = a_values[a][i] +", "+ getCountryAndState(a);
						foundValues.unshift(a_values[a][i] +", "+ getCountryAndState(a));
					}
					else if (str[1].toLowerCase().indexOf(strVal)==0)
					{
						foundValues[foundValues.length] = a_values[a][i] +", "+ getCountryAndState(a);
					}
				}
			}
			
			if(foundValues.length>0)
			{
				lBody.style.display='block';
				if( foundValues.length > 5 )
				{
					lBody.scrolling='yes';
				}
				else
				{
					lBody.scrolling='no';
				}
				//lBody.style.height = foundValues.length > 10 ? 170 : foundValues.length * 17;
				lBodyDoc.clear();
				lBodyDoc.write("<body bgColor='beige' style='font:11px Verdana;margin:0;padding:0'>");
				for(i=0;i<foundValues.length; i++)
				{
					str = foundValues[i].split(":");

					//alert("<div style=\"padding:2;cursor:pointer\" onMouseOver=\"this.style.backgroundColor='wheat'\" onMouseOut=\"this.style.backgroundColor='transparent'\" onClick=\"parent.closeList('"+ str[0] +"');\">["+ str[0] +"] "+ str[1] +"</div>");

					lBodyDoc.write("<div style=\"padding:2;cursor:pointer\" onMouseOver=\"this.style.backgroundColor='wheat'\" onMouseOut=\"this.style.backgroundColor='transparent'\" onClick=\"parent.closeList('"+ str[0] +"');\">["+ str[0] +"] "+ str[1] +"</div>");

					//alert("<div style=\"padding:2;cursor:pointer\" onMouseOver=\"this.style.backgroundColor='wheat'\" onMouseOut=\"this.style.backgroundColor='transparent'\" onClick=\"alert('"+str[0]+"');\">["+ str[0] +"] "+ str[1] +"</div>");

					//lBodyDoc.write("<div style=\"padding:2;cursor:pointer\" onMouseOver=\"this.style.backgroundColor='wheat'\" onMouseOut=\"this.style.backgroundColor='transparent'\" onClick=\"alert('"+str[0]+"');\">["+ str[0] +"] "+ str[1] +"</div>");
				}
				
				lBodyDoc.write("<div style=\"padding:0px 5px 0px 180px;cursor:pointer;\" onMouseOver=\"this.style.backgroundColor='wheat'\" onMouseOut=\"this.style.backgroundColor='transparent'\" onClick=\"parent.hideList2();\">Close</div>");
				lBodyDoc.write("</body>");
				lBodyDoc.close();
			}
			else lBody.style.display='none';
		}
		else lBody.style.display='none';
	}
	function getCountryAndState(sCode)
	{
		contry_state = sCode.split(":");
		country = "";
		state = contry_state[1];
		for(s in c_values)
		{
			if(c_values[s].indexOf(contry_state[0])==0){
				country = c_values[s].split(":")[1];
			}
		}
		if(state!="All") return state + ", " + country;
		else return country;
	}
	/*close the click*/
	function cllst()
	{
			if(document.getElementById("listBody2").style.display=='block')
			{
				document.getElementById("listBody2").style.display='none';
			}
	}

	function closeList(str)
	{ 
		//alert(str);
		lObj.value = str;
		hideList2();
	}

	function hideList2()
	{
		document.getElementById("listBody2").style.display='none';
	}
	var iframeids=["listBody2"]
	var iframehide="no"
	
	var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
	var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

	function resizeCaller() 
	{
		var dyniframe=new Array()
		for (i=0; i<iframeids.length; i++)
		{
			if (document.getElementById)
				resizeIframe(iframeids[i])
			//reveal iframe for lower end browsers? (see var above):
			if ((document.all || document.getElementById) && iframehide=="no")
			{
				var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
				tempobj.style.display="none"
			}
		}
	}

	function resizeIframe(frameid)
	{
		var currentfr=document.getElementById(frameid)
		if (currentfr && !window.opera)
		{
			currentfr.style.display="block"
			if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
				currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
			else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
				currentfr.height = currentfr.Document.body.scrollHeight;
			if (currentfr.addEventListener)
				currentfr.addEventListener("load", readjustIframe, false)
			else if (currentfr.attachEvent)
			{
				currentfr.detachEvent("onload", readjustIframe) // Bug fix line
				currentfr.attachEvent("onload", readjustIframe)
			}
		}
	}

	function readjustIframe(loadevt) 
	{
		var crossevt=(window.event)? event : loadevt
		var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
		if (iframeroot)
			resizeIframe(iframeroot.id);
	}

	function loadintoIframe(iframeid, url)
	{
		if (document.getElementById)
			document.getElementById(iframeid).src=url
	}

	if (window.addEventListener)
	{
		window.addEventListener("load", resizeCaller, false);
	}
	else if (window.attachEvent)
	{
		window.attachEvent("onload", resizeCaller);		
	}
	else
	{
		window.onload=resizeCaller;	
	}
	
	function togglePanel(link_id, panel_id)
	{
		 var link_element = document.getElementById(link_id);
		 var panel_element = document.getElementById(panel_id);

		 if (panel_element.style.display == 'none') 
		 {
			 link_coords = getCoords(link_id);

			 panel_top = (link_coords.y - link_element.offsetHeight+50) + 'px';
			 panel_left = link_coords.x + 50 + 'px';

			 panel_element.style.top = panel_top;
			 panel_element.style.left = panel_left;

			 panel_element.style.visibility = "visible";
			 panel_element.style.display = "block";
		 } 
		 else 
		 {
			 panel_element.style.display = 'none';
			 panel_element.style.visibility = 'hidden';
		 }
	
		 if (parent.calcHeight) 
		 {
			 parent.calcHeight();
		 }

		 link_element.blur();
	}
	function getCoords(id)
	{
		 var x = 0
		 var y = 0;

		 element = document.getElementById(id);
	
		 if (element.offsetParent)
		 {
		 	while (element.offsetParent)
			{
				 x += element.offsetLeft;
				 y += element.offsetTop;
				 element = element.offsetParent;
			 }
		 } 
		 else if (element.x || element.y) 
		 {
			 x = element.x;
			 y = element.y;
		 }

		 /* IE bug */
		 x += document.body.offsetLeft;
		 y += document.body.offsetTop;

		 return { x:x, y:y };
	}
	document.onkeypress = function hidecal3 ()
	{
		if (navigator.appName == "Microsoft Internet Explorer")
		{
		 if (event.keyCode==27)
		 {
			 togglePanel('currency-link', 'currency-box');
		 }
		}	 	
	}