//Regular expressions
var REGEX_PRICE = /^\d+(?:\.\d{0,2})?$/;
var REGEX_PERCENT2DECIMALS = /^100(?:\.0{1,2})?|0*?\.\d{1,2}|\d{1,2}(?:\.\d{1,2})?$/;
var REGEX_MIN_STAY = /^[1-9]{1}[0-9]{0,1}$/;

// trigger onload window functions

window.onload = onLoadFunctions;

function onLoadFunctions () {
	displayLogOut();
	setFormFocus(); 
	calPos();
}

//Set position of cal window
var posx, posy;

function calPos() {
  document.onmousemove = mouseMove;
}

function mouseMove(ev){
  ev = ev || window.event;
  var mousePos = mouseCoords(ev);
}

function mouseCoords(ev){
  if(ev.pageX || ev.pageY){
  	return {x:ev.pageX, y:ev.pageY};
  }
  
  return {
  	x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
  	y:ev.clientY + document.body.scrollTop  - document.body.clientTop
  };
}

function getXY(e) {
  posx = event.clientX + document.body.scrollLeft;
  posy = event.clientY + document.body.scrollTop;
}

// if window is extranet replace logout with close window 

function displayLogOut() {

	var a = window.name;
	var b = a.split("_");

	if (b[0] == "extranet" && (document.getElementById("logout"))) {
		document.getElementById("logout").innerHTML = "<a href='javascript:window.close();'>CLOSE WINDOW</a>";
	}

	else return true;

}

// popup window functions 

function popUpWindow(url,winName) {

	var height=500
	var width=800
	var left = Math.floor( (screen.width - width) / 2);
	var top = Math.floor( (screen.height - height) / 2);
	var winParms = "scrollbars, resizable, status, top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;     
	if (winName == null) var winName = "window";
	closePopUpWindow(winName);
	openedWindow = open(url,winName,winParms); 
	openedWindow.onunload = confirmClosed;
	closePopUpWindow;
	windowOpen = true;
	return (openedWindow);
}

function closePopUpWindow(winName){
	if (window.windowOpen&&window.openedWindow){
		openedWindow.close();
		confirmClosed();
	}
}
function confirmClosed(){
	windowOpen = false;
}


var win;
function popUp(url)
{
   var height=500
   var width=500
   var left = Math.floor( (screen.width - width) / 2);
   var top = Math.floor( (screen.height - height) / 2);
   var winParms = "scrollbars,top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;     
   win=window.open(url,"win",winParms);   	
   return false;
}

function closePopUp()
{	
	if(win!=null)
	{
		if(win.closed==false)
		{				
			win.close();	
		}
	}
}

// set focus on textbox on the form
function setFormFocus() {

if (document.forms[0]) {	
	for(var i=0; i < document.forms[0].length; ++i)	{
		
		if((document.forms[0].elements[i].type == "text" || document.forms[0].elements[i].type == "password" || document.forms[0].elements[i].type == "checkbox" ) && document.forms[0].elements[i].disabled == false)
		{
				try{
				    document.forms[0].elements[i].focus();
				    document.forms[0].elements[i].select();
				    return;
			    }catch(err){}
		}
	}
}
}

// delete confirmation window

function AskDeleteConfirmation() {
	return confirm('Do you want to proceed with the Delete action?');
}		


function StripHtmlTags(text)
{
    if(text)
    {
      var strippedText = text.replace(/</g,'&lt;').replace(/>/g,'&gt;'); 
      return strippedText;
    }
    else
    {
      return '';
    }
}

function ApplyHtmlTags(text)
{
    if(text)
    {
      var modifiedText = text.replace(/&lt;/g,'<').replace(/&gt;/g,'>'); 
      return modifiedText;
    }
    else
    {
      return '';
    }
}

function RemoveHtmlTags(text)
{
    if(text)
    {
      var strippedText = text.replace(/<.*?>/g,''); 
      return strippedText;
    }
    else
    {
      return '';
    }
}


function UpdateEndDate(startDate, endDate){
                 
        if(startDate.value != null && startDate.value.length > 0)
        {
            var startArr = startDate.value.split("/");
            //date constructor takes a string in the format mm/dd/yyy
            var currentStartDate = new Date(startArr[1] + "/" + startArr[0] + "/" + startArr[2]);
            
            if(endDate.value == null || endDate.value.length == 0 || endDate.value=='dd-mm-yyyy' || endDate.value=='dd/mm/yyyy')
                endDate.value = startDate.value;
            
            var endArr = endDate.value.split("/");
            if(endArr.length == 1)
                endArr = endDate.value.split("-");
                
            var currentEndDate = new Date(endArr[1] + "/" + endArr[0] + "/" + endArr[2]);
            
            if(currentStartDate > currentEndDate)
            {
                currentEndDate = currentStartDate;
                var day = currentEndDate.getDate() < 10 ? "0" + currentEndDate.getDate() : currentEndDate.getDate();
                var month = (currentEndDate.getMonth() + 1) < 10 ?  "0" + (currentEndDate.getMonth() + 1) : currentEndDate.getMonth() + 1;
                endDate.value = (day + "/" + month + "/" + currentEndDate.getFullYear());
            
            }
        }
     }


function RemoveInitialText(textBox, initialText, changedStyle){

    if(textBox != null && textBox.value.length > 0)
    {
        if(textBox.value == initialText)
        {
            textBox.value = "";
            textBox.className = changedStyle;
        }
        
    }

}


function SetUpUsePreviousDiv(linkId, usePreviousDivId, usePreviousContainerId){

     $("#" + linkId).click(function(e){
        
        e.preventDefault();
               
        var position = $(this).position();
        var fromLeft = position.left;
        var fromTop = position.top + $(this).height();
        
        $("#" + usePreviousDivId).css({  
                left: fromLeft,  
                top: fromTop,
                display:'block'
        }); 
         
        
     });
     
     $("#" + usePreviousContainerId).mouseleave(function(e){
     
        if($("#" + usePreviousDivId).is(":visible"))
        {
            $("#" + usePreviousDivId).css("display","none");
            
        }
        
     });

}



