function Expand(DivID){
	var oDiv = document.getElementById(DivID);
	var oDivContent = document.getElementById(DivID+"Content");
				
	if(oDiv.style.visibility=="hidden"){
		oDiv.innerHTML = oDivContent.innerHTML;
		oDiv.style.visibility = "visible";
	}else{
		oDiv.style.visibility = "hidden";
		oDiv.style.height = 0;
		oDiv.innerHTML = "";
	}
}

function ExpandTemplate(DivID){
	var oDiv = document.getElementById(DivID);
	var oDivContent = document.getElementById(DivID+"Content");
				
	if(oDiv.style.visibility=="hidden"){
		oDiv.innerHTML = oDivContent.innerHTML.replace(/_TEMPLATE/g,'');
		oDiv.style.visibility = "visible";
	}else{
		oDiv.style.visibility = "hidden";
		oDiv.style.height = 0;
		oDiv.innerHTML = "";
	}
}

function ExpandBlock(nr) {
    if (document.layers) {
        current = (document.layers[nr].display == 'none') ? 'block' : 'none';
        document.layers[nr].display = current;
    }
    else if (document.all) {
        current = (document.all[nr].style.display == 'none') ? 'block' : 'none';
        document.all[nr].style.display = current;
    }
    else if (document.getElementById) {
        vista = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';
        document.getElementById(nr).style.display = vista;
    }
}

function ShowBlock(nr) {
    if (document.layers) {
        current = 'block';
        document.layers[nr].display = current;
    }
    else if (document.all) {
        current = 'block';
        document.all[nr].style.display = current;
    }
    else if (document.getElementById) {
        vista = 'block';
        document.getElementById(nr).style.display = vista;
    }
}

function HideBlock(nr) {
    if (document.layers) {
        current = 'none';
        document.layers[nr].display = current;
    }
    else if (document.all) {
        current = 'none';
        document.all[nr].style.display = current;
    }
    else if (document.getElementById) {
        vista = 'none';
        document.getElementById(nr).style.display = vista;
    }
}

function PopUpLink(Url, Width, Height, screenX, screenY){
	if(!Width){Width = "370";}
	if(!Height){Height = "400";}
	if(!screenX){screenX = 10;}
	if(!screenY){screenY = 10;}

	var menu = 'menubar=0,resizeable=1,scrollbars=1,width='+Width+',height='+Height+',screenX='+screenX+',screenY='+screenY;
	window.open(Url,'PopUp', menu);
}


function GetCurrentTime(){
	var now=new Date();
	return now.getTime();
}

function CheckNumber(){
	if (isNaN(String.fromCharCode(event.keyCode)) ){
		event.keyCode = 0;
	}
}

function CheckDecimalNumber(){
	if (isNaN(String.fromCharCode(event.keyCode)) && (String.fromCharCode(event.keyCode) != '.')){
		event.keyCode = 0;
	}
}

function CheckCurrency(Element){
	var value = Element.value;
	
	// Block non-currency elements
	if ( ( isNaN(String.fromCharCode(event.keyCode)) ) && (String.fromCharCode(event.keyCode) != '.') ){
			event.keyCode = 0;
	}
	
	// First Dot in value
	if (value.length == 0) {
		if (String.fromCharCode(event.keyCode) == '.') {
			event.keyCode = 0;
		}
	}
	
	// Block 2 digits after decimal point
	var arrValue = value.split(".");
	if (arrValue.length>1) {
		// Check Dollars (max 2 digits)
		if (arrValue[0].length==0) {
			event.keyCode = 0;
		}
		// Check Cents (max 2 digits)
		if (arrValue[1].length > 1)  {
			event.keyCode = 0;
		}
		// Do not allow 2 dot
		if (String.fromCharCode(event.keyCode) == '.') {
			event.keyCode = 0;
		}
	}
}

function formatCurrency(sMoney){
  //no cents
  if(sMoney.indexOf(".")==-1){
   if(sMoney.length==0){
    return " 0.00";
   }
   //eg 5
   if(sMoney.length==1){
    return " "+sMoney+".00";
   }else{
   //eg 15
    return sMoney+".00";
   }
  }else{
  //cents
   //eg 1.20
   if( (sMoney.substring(0,sMoney.indexOf("."))).length==1 ){
    sMoney=" "+sMoney;
   }
   //eg 12.
   if( (sMoney.substring(sMoney.indexOf(".")+1,sMoney.length)).length==0 ){
    sMoney=sMoney+"00"
   }
   //eg 12.2
   if( (sMoney.substring(sMoney.indexOf(".")+1,sMoney.length)).length==1 ){
    sMoney=sMoney+"0"
   }
   //errors produced by both javascript and vbscript
   //eg 1.21000000000079 or 1.21999999999997
   if( (sMoney.substring(sMoney.indexOf(".")+1,sMoney.length)).length>2 ){
    //round rather than trim
    var secondigit=parseInt(sMoney.substring( (sMoney.indexOf(".")+2),(sMoney.indexOf(".")+3)));
    var thirsdigit=parseInt(sMoney.substring( (sMoney.indexOf(".")+3),(sMoney.indexOf(".")+4)));
    if(thirsdigit>=5){
     sMoney=sMoney.substring(0,sMoney.indexOf(".")+2)+(secondigit+1);
    }else{
     sMoney=sMoney.substring(0,sMoney.indexOf(".")+3)
    }
   }
   return sMoney;
  }
 }
 
 function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

// Keep user from entering more than maxLength characters
function doKeypress(control){
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
        if(maxLength && value.length > maxLength-1){
            event.returnValue = false;
            maxLength = parseInt(maxLength);
        }
}
// Cancel default behavior
function doBeforePaste(control){
    maxLength = control.attributes["maxLength"].value;
        if(maxLength)
        {
            event.returnValue = false;
        }
}
// Cancel default behavior and create a new paste routine
function doPaste(control){
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
        if(maxLength){
            event.returnValue = false;
            maxLength = parseInt(maxLength);
            var oTR = control.document.selection.createRange();
            var iInsertLength = maxLength - value.length + oTR.text.length;
            var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
            oTR.text = sData;
        }
}

// Calculate the Gross rate 
function CalculateRateGross(rateNett,bookingFee) {
    if (rateNett > 0) {
        var original = (rateNett*1) + ((rateNett * bookingFee) / 100);
		return Math.ceil(original*1) ; // divid by 10 and multiple by 10 to get rounding accuracy
	} 
	
	return 0;
}

// Calculate the Booking Fee Value
function CalculateBookingFee(rateGross, bookingFee) {
    if (rateGross > 0) {
        var original = (rateGross * bookingFee * 1) / (100 + bookingFee * 1);
        return Math.round(original); // divid by 10 and multiple by 10 to get rounding accuracy
    }

    return 0;
}	