	/*
	*********************************************************
		Description		: System Related Common Routings
		Author			: Rilwan A. Latiff
		Version			: 1.0
		Last Modified	: 1st June 2005
	*********************************************************	
	*/
   	var strSYSError 	= "";
	var intMaxSearchDays= 331;
	var intMaxInf       = 3;

		
	var strHeader1 = '';
	var strHeader2 = '';

    var arrWarn         = new Array();		/* Error Messages from Server */
    var arrErrMsg       = new Array();		/* Warning messages from Server  */
    var arrErr			= new Array();		/* Client Error Messages */
    var arrControls		= new Array();
   	var strLougoutMsg   = "Do you want to logout?"
   	
    var strTagLiSt      = "<li>";
    var strTagLiEn      = "<\/li>";
    var objTop			= top;
    var objCW			= null;
    var	strErrMsg		= "";
    var strOptEmpty		= "<option value=''><\/option>";
    var strOptTagDef	= "<option value=''>--Please Select--<\/option>";
    var strTxtMand		= "<font class='fntMandatory fntBold'>&nbsp;*<\/font>";
	var strDDDefValue   = "--Please Select--";
    var hdnData			= "";
    var hdnMode			= "";
    var intCurrDeci     = 2;
    var strErrClass 	= "bgError";
    
    var strDDMMMYYY     = "DD MMM YYYY";
    var strDDMMMMYYY     = "DD MMMM YYYY";
    var strDDMMM  = "DD MMM";
        
    var strPaxTypeAdt   = "ADT" ;
    var strPaxTypeChld  = "CNN" ;
    var strPaxTypeInf   = "INF" ;
    
    var strPaxIDAdt     = "Adt_";
    var strPxtIDChld    = "Chld_";
    var strPaxIDInf     = "Inf_";
    
    var intPgTop		= 0;
    var blnCusProgress  = false;
    
    /* Reset the Style for the default styles */
	function resetStyle(){
		try{
			var intStart = 0
			var objArrControls = arrControls;
 			if (objArrControls.length == 1){objArrControls = arguments[0];}
 				for (var i = intStart ; i < objArrControls.length ; i++){
				if (objArrControls[i][0] != ""){
					setStyleClass(objArrControls[i][0], objArrControls[i][3]);
				}
			}
		}catch(ex){};
	}

	function resetStyle(objArrControls){
		try{
			var intStart = 0
 			for (var i = intStart ; i < objArrControls.length ; i++){
				if (objArrControls[i][0] != ""){
					setStyleClass(objArrControls[i][0], objArrControls[i][3]);
				}
			}
		}catch(ex){};
	}
	
	/* Add the Tag List to Error message  */
	function buildTagError(strMsg){
		return strTagLiSt + strMsg + strTagLiEn;
	}
    
    /* Show page Error message Singel error Message */
    function pgShowErrMsg(strMsg){
		alert(strMsg);
    }
    
    /* Initialize page error messages */
    function pgInitializeErrMsg(){
		strErrMsg = "";
    }

    /* Show Error Message - Summary*/
    function showErrMsg(strMsg){
        var strHTMLText = "";
        strHTMLText += "<table width='100%' border='0' cellpadding='0' cellspacing='0'>";
        strHTMLText += "    <tr>";
        strHTMLText += "        <td class='thinError bgError'>";
        strHTMLText += "            <table width='98%' border='0' cellpadding='1' cellspacing='0' align='center'>";
        strHTMLText += "                <tr><td class='hgtEmptyGap' colspan='2'><\/td><\/tr>";
        strHTMLText += "                <tr><td colspan='2'><a href='#' onclick='return false;' id='lnkError' name='lnkError' class='cursorDefault'><font class='fntBold fntError fntHD'>" + strTxtWarnHD + "<\/font><\/a><\/td><\/tr>";
        strHTMLText += "                <tr><td class='hgtEmptyGap' colspan='2'><\/td><\/tr>";
        strHTMLText += "                <tr>";
        strHTMLText += "                    <td width='8%' valign='top' align='center'>";
        strHTMLText += "                        <img src='" + strImgUrl + "KF0013.gif' alt='Warning'>";
        strHTMLText += "                    <\/td>";
        strHTMLText += "                    <td width='92%' valign='top'>";
        strHTMLText += "                        <font class='fntError'>" + strMsg + "<\/font>";
        strHTMLText += "                    <\/td>";
        strHTMLText += "                <\/tr>";
        strHTMLText += "                <tr><td class='hgtEmptyGap' colspan='2'><\/td><\/tr>";
        strHTMLText += "            <\/table>";
        strHTMLText += "        <\/td>";
        strHTMLText += "    <\/tr>";
        strHTMLText += "<\/table><br>";
        
        DivWrite("spnErrMsg", strHTMLText);
        if(arguments == null || arguments.length <= 1){
	        setFocus("lnkError");	
        }
    }
    
    /* Show Successful Message */
    function showSuccessfulMsg(strMsg){
        var strHTMLText = "";
        strHTMLText += "<table width='100%' border='0' cellpadding='0' cellspacing='0'>";
        strHTMLText += "    <tr>";
        strHTMLText += "        <td class='thinSuccess bgError'>";
        strHTMLText += "            <table width='98%' border='0' cellpadding='1' cellspacing='0' align='center'>";
        strHTMLText += "                <tr><td class='hgtEmptyGap' colspan='2'><\/td><\/tr>";
        strHTMLText += "                <tr><td colspan='2'><a href='#' onclick='return false;' id='lnkError' name='lnkError' class='cursorDefault'><font class='fntBold fntSuccessful fntHD'>" + strTxtSuccessHD + "<\/font><\/a><\/td><\/tr>";
        strHTMLText += "                <tr><td class='hgtEmptyGap' colspan='2'><\/td><\/tr>";
        strHTMLText += "                <tr>";
        strHTMLText += "                    <td width='8%' valign='top' align='center'>";
        strHTMLText += "                        <img src='" + strImgUrl + "KF164.jpg' alt='Successful'>";
        strHTMLText += "                    <\/td>";
        strHTMLText += "                    <td width='92%' valign='top'>";
        strHTMLText += "                        <font class='fntSuccessful'>" + strMsg + "<\/font>";
        strHTMLText += "                    <\/td>";
        strHTMLText += "                <\/tr>";
        strHTMLText += "                <tr><td class='hgtEmptyGap' colspan='2'><\/td><\/tr>";
        strHTMLText += "            <\/table>";
        strHTMLText += "        <\/td>";
        strHTMLText += "    <\/tr>";
        strHTMLText += "<\/table><br>";
        
        DivWrite("spnErrMsg", strHTMLText);
        if(arguments == null || arguments.length <= 1){
	        setFocus("lnkError");	
        }
    }

    /* hide error messages */
    function initializeErrMsg(){
	    DivWrite("spnErrMsg", "");
	    pgInitializeErrMsg();
    }

    /* Build Error List */
    function buildErrorList(){
        var intLen = arrErrMsg.length;
        var i = 0;
        var strHTMLText = "";
        
        if (intLen > 0){
            do{
                strHTMLText += buildTagError(arrErrMsg[i]);
                i++;
            }while(--intLen);
        }
        
        intLen = arrWarn.length;
        i = 0;
        if (intLen > 0){
            if (strHTMLText != ""){
                strHTMLText += "<hr class='thinHRError'>";
            }
            do{
                strHTMLText += buildTagError(arrWarn[i]);
                i++;
            }while(--intLen);
        }
        
        if (strHTMLText != ""){
            showErrMsg(strHTMLText);
        }
    }
    
    /* Initialize Error List */
    function initializeErrorList(){
        arrErrMsg.length = 0;
        arrWarn.length = 0;
    }

    /* Bread Crum  */
    function buildBCrum(intIndex){
        var strHTMLText = "";
        
        var intLen = arrBCrum.length;
        if (intLen > 0){
            var intTotCrum   = intLen - 1;
            var strBCrumRow1 = "<tr>";
            var strBCrumRow2 = "<tr>";
            var i = 0;
            var strFntClass  = "";
            var intBWidth    = "";
            var intBAlign    = "";
            var intBImg      = "";
            var strBHTMLText = "";
            do{
                if (i < intIndex){
                    strFntClass = "fntBCrumP";
                }else if (i > intIndex){
                    strFntClass = "fntBCrumN";
                }else{
                    strFntClass = "fntBCrumC fntBold";
                }
                strBCrumRow1 += "<td align='center'><font class='" + strFntClass + "'>" + arrBCrum[i] + "<\/font><\/td>";
                
                strBHTMLText = "<font>&nbsp;<\/font>";
                switch (i){
                    case intIndex :
                        intBWidth = "100%";
                        intBAlign = strAlignL;
                        intBImg   = "KF0014.jpg";
                        
                        strBHTMLText = "<table width='60%' border='0' cellpadding='0' cellspacing='0' align='" + strAlignR + "'>";
                        strBHTMLText += "   <tr>";
                        if (i != intTotCrum){
                            strBHTMLText += "       <td width='10%' valign='bottom'><img src='" + strImgUrl + "KF0016.jpg' alt='Bread Crum'><\/td>";
                            strBHTMLText += "       <td width='90%' style='background-image:url(" + strImgUrl + "KF0015.jpg);background-position:center;background-repeat:repeat-x;'><font>&nbsp;<\/font><\/td>";
                        }else{
                            intBWidth = "50%";
                            strBHTMLText += "       <td align='" + strAlignR + "' valign='bottom'><img src='" + strImgUrl + "KF0016.jpg' alt='Bread Crum'><\/td>";
                        }
                        strBHTMLText += "   <\/tr>";
                        strBHTMLText += "<\/table>";
                        
                        break;
                    case 0 :
                        intBWidth = "50%";
                        intBAlign = strAlignR;
                        intBImg   = "KF0014.jpg";
                        break;
                    case intTotCrum :
                        intBWidth = "50%";
                        intBAlign = strAlignL;
                        intBImg   = "KF0015.jpg";
                        break;
                    default :
                        intBWidth = "100%";
                        intBAlign = "center";
                        if (i < intIndex){
                            intBImg   = "KF0014.jpg";
                        }else{
                            intBImg   = "KF0015.jpg";
                        }
                        break;
                }
                strBCrumRow2 += "<td align='" + intBAlign + "'>";
                strBCrumRow2 += "   <table width='" + intBWidth + "' border='0' cellpadding='0' cellspacing='0'>";
                strBCrumRow2 += "       <tr>";
                strBCrumRow2 += "           <td style='height:28px;background-image:url(" + strImgUrl + intBImg + ");background-position:center;background-repeat:repeat-x;'>" + strBHTMLText + "<\/td>";
                strBCrumRow2 += "       <\/tr>";
                strBCrumRow2 += "   <\/table>";
                strBCrumRow2 += "<\/td>";
                i++;
            }while(--intLen);
            strHTMLText += "<table width='100%' border='0' cellpadding='0' cellspacing='0'>";
            strHTMLText += "<tr><td colspan='" + (intTotCrum + 1) + "' class='hgtEmptyGap'><\/td><\/tr>";
            strHTMLText += strBCrumRow1 + "<\/tr>";
            strHTMLText += strBCrumRow2 + "<\/tr>";
            strHTMLText += "<\/table>";
        }
        
        DivWrite("spnBCrum", strHTMLText);
    }
    
    /* time Out Start */
    function timeOutStart(){
        var strHTMLText = "";
        var strTimeText = replaceAll(strTxtTimer, "#1", "<b><span id='spnTimerValue'><\/span><\/b>");
        
        strHTMLText += "<table width='70%' border='0' cellpadding='0' cellspacing='0'>";
        strHTMLText += "    <tr>";
        strHTMLText += "        <td width='1%'><img src='" + strImgUrl + "KF0017.jpg' alt=''><\/td>";
        strHTMLText += "        <td width='18%' style='background-image:url(" + strImgUrl + "KF0019.jpg);background-position:center;background-repeat:repeat-x;'>";
        strHTMLText += "            <img src='" + strImgUrl + "KF0020.jpg' alt='Timmer'>";
        strHTMLText += "        <\/td>";
        strHTMLText += "        <td width='80%' style='background-image:url(" + strImgUrl + "KF0019.jpg);background-position:center;background-repeat:repeat-x;' align='center' valign='top'><span id='spnTimeMsg'><font>" + strTimeText + "<\/font><\/span><\/td>";
        strHTMLText += "        <td width='1%'><img src='" + strImgUrl + "KF0018.jpg' alt=''><\/td>";
        strHTMLText += "    <\/tr>";
        strHTMLText += "<\/table>";    
        
        DivWrite("spnTimeWarn", strHTMLText);
        
        if(arguments != null && arguments.length >= 1 && arguments[0] == false){
        	setDisplay("spnTimeWarn",false);
        }
        
        top.blnTimerEnable = true;
		top.setTimer();	
    }

    /* Load Home Page */
    function loadHomePage(){
    	if (strPrmHomeURL == ""){
    		strPrmHomeURL = "http://ibeuat.flykingfisher.com/ibe";
    	}
        top.location.replace(strPrmHomeURL);
    }
    

    /* Load Home Page */
    function loadMyHomePage(){
    	//var tmpMyHomeURL = "http://ibeuat.flykingfisher.com/ibe";
		var tmpMyHomeURL = "http://ibe.flykingfisher.com/ibe";
    	var intIndex = 0;
    	if(arguments != null && arguments.length >= 1 && arguments[0] == 1){
    		intIndex = 1;
    	}
		tmpMyHomeURL = strMyHomeURL[intIndex];
        top.location.replace(tmpMyHomeURL);
    }
    
    
    /* Load Previous Page */
    function loadBackPage(intIndex){
    	//loadHomePage();
        switch (intIndex){
	        case 1 :
		      	loadHomePage();  	
	        	break;
	        
	        case 2 :
	        	//history.back(-1);
	        	top.location.replace("../public/showAvailability.action?hdnMode=BACK");
	        	break;
	        	
	        // Load's the Modify Booking Search 
	        case 3 :
	        	top.location.replace("../public/showModifyBooking.action?hdnMode=BACK" + "&hdnUniqueId="+ escape(strUniqueId));
	        	break;
        }
    }
    

	/*
	 * Replace's the Invalid Text Chars
	 * @Author : Ruchiranga
	 * @Since : 02 Jan 2009
	 */
	function replaceInvalidTextChar(strRichText){
		var strReturnText = ""
		strReturnText = replaceall(strRichText,"^"," ");
		//strReturnText = replaceall(strReturnText,"'", "`");
	
		var returnChars = escape(strReturnText); 	// encode special characters
		
		returnChars = returnChars.replace(/%u201C/g,'"');	// Replace left double quote.
		returnChars = returnChars.replace(/%u201D/g,'"');	// Replace right double quote.
		returnChars = returnChars.replace(/%u2013/g,'-'); 	// Replace -.
		returnChars = returnChars.replace(/%u2014/g,'--');	// Replace --. 
		returnChars = returnChars.replace(/%u2018/g,'\'');	// Replace apost.
		returnChars = returnChars.replace(/%u2019/g,'\''); 	// Replace apost.
		returnChars = returnChars.replace(/%BD/g,'1/2'); 	// Replace 1/2 symbol.
		returnChars = returnChars.replace(/%u2122/g,'TM');	// Replace TM symbol.
		returnChars = returnChars.replace(/%u2026/g,'...');	// Replace ...
		
		returnChars = unescape(returnChars); 	// decode string
		
		// Converts the Data for Ajax submit
		returnChars = convertAjaxData(returnChars);

		return returnChars;
	}
	

    
    /* Show Progress */
    function showProgress(){
		try{
	    	intPgTop = getFieldByID("bdMain") != null ? getFieldByID("bdMain").scrollTop : 0;
		}catch(ex){}
        setDisplay("divMainPanel", false);
    	
		DivWrite('spnProgressHeader01', "");
		DivWrite('spnProgressHeader02', "");
		DivWrite('spnProgressHeader03', "");
    	
    	if(blnCusProgress){
    		setProgressCusMessages();
	        //setDisplay("divProgPannelCus", true);  	
    	}else{
    		setProgressDefaultMessages();
    		//setDisplay("divProgPannel", true);
    	}
    	setDisplay("divProgPannelCus", true);
    	blnCusProgress = false;
    }
    
    /* hide Progress */
    function hideProgress(){
        setDisplay("divMainPanel", true);
        setDisplay("divProgPannel", false);
        setDisplay("divProgPannelCus", false);
		try{
			if (getFieldByID("bdMain") != null){
				getFieldByID("bdMain").scrollTop = intPgTop;
			}
		}catch(ex){}
    }

	function setProgressCusMessages(){
		try{
			strHeader1 = objSelFrom.text + "(" + objSelFrom.value + ") - ";
			strHeader1 += objSelTo.text + "(" + objSelTo.value + ")";
			
			strHeader2 = "Departing - ";
			strHeader2 += dateChk(getValue(arrControls[1][0]) + "/" + getValue(arrControls[2][0]), strDDMMMMYYY);
			strHeader2 += " (" +  getWDayText(getValue(arrControls[1][0]) + "/" + getValue(arrControls[2][0])) + ")";
			if(getValue(arrControls[0][0]) == "R"){
				strHeader2 += " Returning  - ";
				strHeader2 += dateChk(getValue(arrControls[3][0]) + "/" + getValue(arrControls[4][0]), strDDMMMMYYY);
				strHeader2 += " (" +  getWDayText(getValue(arrControls[3][0]) + "/" + getValue(arrControls[4][0])) + ")";			
			}
		}catch(e){}
		DivWrite('spnProgressHeader01', strHeader1);
		DivWrite('spnProgressHeader02', strHeader2);
		DivWrite('spnProgressHeader03', "We are retrieving your flight information");
	}
	
	function setProgressDefaultMessages(){
		DivWrite('spnProgressHeader03', "Please DO NOT close the browser or press 'BACK' button");
	}
    
    /* Invalid Char validations - return List of Error Messages*/
	function validateInvalidChar(){
 		var objArrControls = arrControls;
 		var strReturn = "";
 		if (arguments.length == 1){objArrControls = arguments[0];}
 
	 	var strChkEmpty = "";
	 	var blnReturn = true;
	 	for (var i = 0 ; i < objArrControls.length ; i++){
	  		strChkEmpty = checkInvalidChar(getValue(objArrControls[i][0]), objTop.arrErr["014"], fixDblDotLabelIssue(objArrControls[i][1]));
	  		if (strChkEmpty != ""){
		   		strReturn += buildTagError(strChkEmpty);
		   		setStyleClass(objArrControls[i][0], objArrControls[i][3] + " " + strErrClass);
	  		}
 		}
 
 		return strReturn;
	}
	
	/* Invalid Char validations Page wise return single error message*/ 
	function pgValidateInvalidChar(){
 		var objArrControls = arrControls;
 		var strReturn = "";
 		if (arguments.length == 1){objArrControls = arguments[0];}
 
	 	var strChkEmpty = "";
	 	var blnReturn = true;
	 	for (var i = 0 ; i < objArrControls.length ; i++){
	  		strChkEmpty = checkInvalidChar(getValue(objArrControls[i][0]), objTop.arrErr["014"], fixDblDotLabelIssue(objArrControls[i][1]));
	  		if (strChkEmpty != ""){
		   		strReturn = strChkEmpty
		   		setFocus(objArrControls[i][0]);
		   		break;
	  		}
 		}
 
 		return strReturn;
	}
	
	/* Empty Validations - return List of Error Messages*/
	function validateEmpty(strSelectControls){
		var strReturn = "";
 		var objArrControls = arrControls;
 		if (arguments.length == 2){objArrControls = arguments[1];}
 
 		if (strSelectControls != ""){
  			strSelectControls = "," + strSelectControls + ",";
 		}
 		var blnReturn = true;
 		var strErr = ""
 		setTrimmedValue(objArrControls);
 		for (var i = 0 ; i < objArrControls.length ; i++){
  			if (objArrControls[i][2] == "Y"){
   				if (trim(getValue(objArrControls[i][0])) == ""){
    				strErr = objTop.arrErr["001"];
    				if (strSelectControls != ""){
     					if (strSelectControls.indexOf("," + i + ",") != -1){
      						strErr = objTop.arrErr["004"];
     					}
    				}
    				strReturn += buildTagError(buildError(strErr, objArrControls[i][1]));
    				setStyleClass(objArrControls[i][0], objArrControls[i][3] + " " + strErrClass);
    				setFocus(objArrControls[i][0]);
   				}
  			}
 		}
 
 		return strReturn;
	}
	
	/* Empty Validations Page wise return single error message*/
	function pgValidateEmpty(strSelectControls){
		var strReturn = "";
 		var objArrControls = arrControls;
 		if (arguments.length == 2){objArrControls = arguments[1];}
 
 		if (strSelectControls != ""){
  			strSelectControls = "," + strSelectControls + ",";
 		}
 		var blnReturn = true;
 		var strErr = ""
 		setTrimmedValue(objArrControls);
 		for (var i = 0 ; i < objArrControls.length ; i++){
  			if (objArrControls[i][2] == "Y"){
   				if (trim(getValue(objArrControls[i][0])) == ""){
    				strErr = objTop.arrErr["001"];
    				if (strSelectControls != ""){
     					if (strSelectControls.indexOf("," + i + ",") != -1){
      						strErr = objTop.arrErr["004"];
     					}
    				}
    				strReturn = buildError(strErr, objArrControls[i][1]);
    				setFocus(objArrControls[i][0]);
    				break;
   				}
  			}
 		}
 
 		return strReturn;
	}
	
	/* trim the values in control */
	function setTrimmedValue(arrControls){
		var objArrControls = arrControls;
 		for(var t=0;t<objArrControls.length;t++){
			if (objArrControls[t][0] != ""){
				var objControl = getFieldByID(objArrControls[t][0]) ;
				var strType = getFieldType(objControl);
				if (strType=="TEXT" || strType=="TEXTAREA"){
					setField(objArrControls[t][0],trim(getValue(objArrControls[t][0])));
				}
			}
		}
	}
	
	
	function fillDropDownsDesc(arrArray, strName, filterIndex, filter, filterValue){	     
		var objLB = new listBox();	
		objLB.dataArray = arrArray;
		objLB.valueIndex = 0;
		objLB.textIndex = 1;
		objLB.blnFirstEmpty = true;
		objLB.firstTextValue = strDDDefValue;
		objLB.firstValue = "";
		objLB.id = strName;
	
		objLB.filterIndex = parseInt(filterIndex);
		objLB.filter		 = filter
		objLB.filterValue = filterValue
		
		objLB.fillListBox();
	}
	
	/* Help */
	function loadHelp(intIndex){
		alert("TODO\nHelp Under Construciton")
	}
	
	/* Terms & Conditions */
	function loadTNCPAY(){
		//alert("Content should be provided by KF.")
		var strUrl = "showPopupDetails.action?hdnSource=IBE&hdnMode=PAYMENT_CONTENT";
		viewRulesRegulations(strUrl);
	}

	/* Terms & Conditions */
	function loadTNCINS(){
		if(getValue("radIns") != "N"){
			//alert("Content should be provided by KF.")
			var strUrl = "showPopupDetails.action?hdnSource=IBE&hdnMode=INSURANCE_CONTENT";
			viewRulesRegulations(strUrl);			
		}
	}
	
	/* Forgot PWD / PIN No. */
	function forgotPWD(intIndex){
		alert("TODO\nHelp Forgot Password")
	}
	
	/* View Fare Rules */
	function ViewFareRules(){
		if ((objTop.objCW) && (!objTop.objCW.closed))	{
			objTop.objCW.close();
		}
		try{
			if(arrFlightData != null){
				var hdnFlightData = "";
				for(var i=0;arrFlightData.length > i;i++){
					if(arrFlightData[i] != ''){
						hdnFlightData += arrFlightData[i] + " ^";
					}
				}
				objTop.objCW = window.open("showFareRules.action?hdnFlightData=" + hdnFlightData ,"windowPop",getChildWindowProp(500,780, true));			
			}else{
				objTop.objCW = window.open("showFareRules.action" ,"windowPop",getChildWindowProp(500,780, true));	
			}
		}catch(e){
			objTop.objCW = window.open("showFareRules.action" ,"windowPop",getChildWindowProp(500,780, true));
		}
	}

	/* View Fare Rules */
	function viewRulesRegulations(strUrl){
		if ((objTop.objCW) && (!objTop.objCW.closed))	{
			objTop.objCW.close();
		}
		objTop.objCW = window.open(strUrl ,"windowPop",getChildWindowProp(300,600, true));
	}

	/* Close Child windows */	
	function closeChildWindows(){
		try{
			if ((objTop.objCW) && (!objTop.objCW.closed))	{
				objTop.objCW.close();
			}
		}catch(e){}
	}
	
	/* --------------------- Cookie Handling Start ------------------------------------- */
	function setCookie(name, value, expires, path, domain, secure) {
		var curCookie = name + "=" + escape(value) +
						((expires) ? "; expires=" + expires.toGMTString() : "") +
						((path) ? "; path=" + path : "") +
						((domain) ? "; domain=" + domain : "") +
						((secure) ? "; secure" : "");
		document.cookie = curCookie;
	}
	
	function getCookie(name) {
		var dc		= document.cookie;
		var prefix	= name + "=";
		var begin	= dc.indexOf("; " + prefix);
		if (begin == -1) {
			begin = dc.indexOf(prefix);
			if (begin != 0) return null;
		}else
			begin += 2;
			var end = document.cookie.indexOf(";", begin);
			if (end == -1)
				end = dc.length;
				return unescape(dc.substring(begin + prefix.length, end));
	}
	/* --------------------- Cookie Handling End ------------------------------------- */
	
	/* Build the Reference No. */
	function buildRefNo(){
		DivWrite("spnRefNo", strBkgRefNo);
	}
	
	function isAlphaNumeric(s) {return RegExp("^[a-zA-Z0-9-/]+$").test(s);} 
	function isAlphaNumericWhiteSpace(s){return RegExp("^[a-zA-Z0-9-.;,/ \w\s]+$").test(s);}
	function isEmailId(s){return RegExp( "^[a-zA-Z0-9-_.]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$" ).test(s);}
	function isPhoneNo(n){return RegExp("[0-9]+$").test(n);}
	
	// Get last visible date month in the calender popup
	function getCalenderEndDate(intMonths){
		var dtToday = new Date();
		if (arguments.length == 2){
			if (arguments[1] != ""){
				dtToday = new Date(arguments[1].substr(6,4), Number(arguments[1].substr(3,2)) - 1, "01");
			}
		}
		
		// See if we got anything
		var dtTD = dtToday.getDate();
		
		// Retrieve the Date pieces
		var strMonth = dtToday.getMonth() + new Number (intMonths);
		var strDay   = 1; //dtToday.getDate();
		var strYear  = dtToday.getFullYear();

		// Retrieve the Time pieces
		var strHour    = dtToday.getHours();
		var strMinutes = dtToday.getMinutes();
		var strSeconds = dtToday.getSeconds();
		var dtNew = new Date( strYear, strMonth, strDay, strHour, strMinutes, strSeconds);

		var dtNew1 = addDays(dtNew,-1);

		var dtNM = dtNew1.getMonth() + 1;
		var dtND = dtNew1.getDate();
		var dtNY = dtNew1.getFullYear();
		
		if (Number(dtTD) > getDaysInMonth(dtNM, dtNY)){
			dtND = getDaysInMonth(dtNM, dtNY);
		}
		
		if (Number(dtND) < 10){dtND =  "0" + dtND;}
		if (Number(dtNM) < 10){dtNM =  "0" + dtNM;}
		
		// Create a new Date Object
		return dtND + "/" + dtNM + "/" + dtNY;
	}

	function logOut(){
		if (confirm(strLougoutMsg)){
			top.location.replace("../public/showLogoutVendor.action");
		}
	}
	
	/*
	 * Replace the double dot for labels that end with a dot.
	 */
	function fixDblDotLabelIssue(strLabelTxt){
		if (strLabelTxt.indexOf('.') == -1){
			return strLabelTxt;
		
		}else{
			strLabelTxt = replaceAll(strLabelTxt, ".", "");
			return strLabelTxt;
		}
	}

	//Validate the overlapping flights
	function flightSegmentValidate(strFromDate, strFromTime, strToDate, strToTime, intDepDiff){
		
		var tempDay=strFromDate.substring(0,2);
		var tempMonth=strFromDate.substring(3,5);
		var tempYear=strFromDate.substring(6,10); 	
		var tempHH = strFromTime.substring(0,2); 	
		var tempMM = strFromTime.substring(3,5); 		
		var dtFromDateTime = new Date( tempYear, Number(tempMonth) - 1, tempDay);
		var lFromDateTime = dtFromDateTime.getTime();
		lFromDateTime += (Number(tempHH) + Number(intDepDiff)) * 60;
		lFromDateTime += Number(tempMM);		

		tempDay=strToDate.substring(0,2);
		tempMonth=strToDate.substring(3,5);
		tempYear=strToDate.substring(6,10); 	
		tempHH = strToTime.substring(0,2); 	
		tempMM = strToTime.substring(3,5); 	
		var dtToDateTime = new Date( tempYear, Number(tempMonth) - 1, tempDay);
		var lToDateTime = dtToDateTime.getTime();
		lToDateTime += Number(tempHH) * 60;
		lToDateTime += Number(tempMM);
		
		if(Number(lFromDateTime) >= Number(lToDateTime)){
			return false;
		}else{
			return true;
		}
	}
	
	function appendFarebasisCodes(strFareBasisCodes,arrFareBasis){
		
		if(arrFareBasis != null){
			for(var i=0;arrFareBasis.length > i;i++){
				if(strFareBasisCodes == ""){
					strFareBasisCodes = arrFareBasis[i];
				}else{
					strFareBasisCodes += "* " + arrFareBasis[i];
				}
			}
		}
		
		return strFareBasisCodes;
	}
	
	/*
	 * Convert's the minutes to hours
	 * 
	 * Note : Some of the code is commented due to the fact that only hrs needs to be shown
	 */
	function convertMinuteToHours(strMinute){
		var rtnString = "";
		var intMinute = parseInt(strMinute);
		var intTmpMinute = Math.floor((intMinute/60));
		/*if(intTmpMinute < 10){
			rtnString += "0" + intTmpMinute;
		}else{*/
			rtnString += intTmpMinute;
		//}
		/*rtnString += ":";
		intMinute = (intMinute % 60)
		if(intMinute < 10){
			rtnString += "0";
		}
		rtnString += intMinute;*/
		return rtnString;
	}
	
	/* Set Checked status used for Radio Buttond / Check box */
	function setCheckedByID(strControlID, blnStatus){
		var objControl = getFieldByID(strControlID) ;
		var strType = getFieldType(objControl);
		
		switch (strType){
			case "CHECKBOX" : 
			case "RADIO" : 
				objControl = getFieldByID(strControlID);
				if(objControl != null){
					objControl.checked = blnStatus;
				}
				break;
		}	
	}
	
	/* Enable / Disable a Conrol */
	function DisableByID(strControlID, blnEnable){
		var objControl = getFieldByID(strControlID) ;
		var strType = getFieldType(objControl);
		
		switch (strType){
			case "CHECKBOX" : 
			case "RADIO" : 
				objControl = getFieldByID(strControlID);
				if (objControl != null){
					objControl.disabled = blnEnable;
				}
				break;
				
			default :
				objControl.disabled = blnEnable; 
				break;
		}	
	}
	
    /* --------------------------------------------------------- end of Page --------------------------------------------------------- */