﻿// JScript File
function isValidDate(sDate)
{
    try
    {
        var dt = new Array();
        dt = sDate.split('/');
        
        if(dt.length != 3)
            return false;
        
        if(dt[0].length!=2 || dt[1].length!=2 || dt[2].length!=4)
            return false;
        
        var d = new Date();
//        d.setFullYear(2007, 7, 30); 
        
        d.setFullYear(parseInt(dt[2],10), parseInt(dt[1],10)-1, parseInt(dt[0],10));
        
//        alert(d.getFullYear());
//        alert(d.getMonth());
//        alert(d.getDate());
//        
//        alert(parseInt(dt[2]));
//        alert((parseInt(dt[1])-1));
//        alert(parseInt(dt[0]));
        
        if(d.getDate() == parseInt(dt[0],10) && d.getMonth() == (parseInt(dt[1],10)-1) && d.getFullYear() == parseInt(dt[2],10))
        {
            //alert("true");
            return true;
        }
        else
        {
            //alert("false 1");
            return false;
        }
    }
    catch(e)
    {
        //alert("false 2");
        return false;
    }

}

function checkDate(source, arguments)
{
        arguments.IsValid = isValidDate(arguments.Value);    
}

function checkMoney(source, arguments)
{
        arguments.IsValid = isValidMoney(arguments.Value);    
}

function isValidMoney(sMoney)
{
    try
    {
        sMoney = sMoney.replace('.','');
        var arrMoney = sMoney.split(',');
        if(arrMoney.length>2)
            return false;
        
        if(isNaN(arrMoney[0]))
        {
            return false;
        }
        if(arrMoney.length>1)
        {
            if(isNaN(arrMoney[1]))
            {
                return false;
            }
        }
        return true;
    }
    catch(e)
    {
        return false;
    }
}

var clockID = 0;

function UpdateClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }

   var tDate = new Date();
   
   var divClock;
   divClock = document.getElementById('theClock');
   
   divClock.innerText = "       " + tDate.toLocaleDateString() + "  Ore " + padder(tDate.getHours(), '0', 2, true) + ":" 
                                   + padder(tDate.getMinutes(), '0', 2, true) + "    ";
   
   clockID = setTimeout("UpdateClock()", 1000);
}
function StartClock() {
   clockID = setTimeout("UpdateClock()", 500);
}

function KillClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }
}

function padder(inputValue, padChar, len, padLeft)
{
    var padValue = '' + inputValue;
    while(padValue.length<len)
    {
        if(padLeft)
        {
            padValue = padChar + padValue;
        }
        else
        {
            padValue = padValue + padChar;
        }
    }
    return padValue;
}

function openDetails(offerta, container)
{
    offerta = URLEncode(offerta);
    //container = URLEncode(container);
    var url;
    url = '/dettaglioOfferta.aspx?o='+offerta+'&c='+container;
    window.open(url, '_blank', 'width=1000, height=750, menubar=0, status=0, toolbar=0, resizable=1, scrollbars=1', false);
}

function openImageDetails(url, width, height)
{
    window.open(url, '_blank', 'width='+(width+10)+', height='+(height+10)+', menubar=0, status=0, toolbar=0, resizable=0, scrollbars=0', false);
}

function emailCheck (emailStr) {
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+'
    var word="(" + atom + "|" + quotedUser + ")"
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

    //alert(emailStr);
    var matchArray=emailStr.match(emailPat)
    if (matchArray==null) {
        //alert(1);
	    return false
        }
    var user=matchArray[1]
    var domain=matchArray[2]

    if (user.match(userPat)==null) {
        //alert(2);
        return false
    }

    var IPArray=domain.match(ipDomainPat)
    if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        //alert(3);
    		return false
        }
      }
      return true
    }

    var domainArray=domain.match(domainPat)
    if (domainArray==null) {
        //alert(4);
        return false
    }

    var atomPat=new RegExp(atom,"g")
    var domArr=domain.match(atomPat)
    var len=domArr.length

    if (len<2) {
        //alert(5);
       return false
    }

    return true;
}

function aspNetEmailCheck(source, arguments)
{
    arguments.IsValid = emailCheck(arguments.Value);
}

function URLEncode( url )
{
	var SAFECHARS = "0123456789" +					
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					
	var HEX = "0123456789ABCDEF";

	var plaintext = url;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};

function URLDecode( url )
{
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var encoded = url;
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} 
   return plaintext;
};

function doBlink() {
  // Blink, Blink, Blink...
  var blink = document.all.tags("BLINK")
  for (var i=0; i < blink.length; i++)
  {
    if(blink[i].blinkClass!="" && blink[i].blinkClass!=null)
    {
       if(blink[i].className == blink[i].blinkClass)
             blink[i].className = blink[i].defaultClass;
       else
             blink[i].className = blink[i].blinkClass;
    }
    else
    {
        blink[i].style.visibility = blink[i].style.visibility == "" ? "hidden" : "" 
    }
  }
}

function startBlink() {
  // Make sure it is IE4
  if (document.all)
    setInterval("doBlink()",500)
}

function initialize()
{
    startBlink();
    StartClock();
}

function ldnImageResize(imageToResize, maxWidth, maxHeight)
{
    if(imageToResize.width==0)
    {
        //alert(imageToResize.id);
        setTimeout("ldnImageResizeIE('" + imageToResize.id + "'," + maxWidth + "," + maxHeight + ")", 500);
    }
    
    if(isNaN(maxWidth))
    {
        maxWidth = -1;
    }

    if(isNaN(maxHeight))
    {
        maxHeight = -1;
    }
    
    if(imageToResize.width>maxWidth && maxWidth>-1)
    {
        imageToResize.height= (maxWidth/imageToResize.width)*imageToResize.height;
        imageToResize.width=maxWidth;
    }
    
    if(imageToResize.height>maxHeight && maxHeight>-1)
    {
        imageToResize.width= (maxHeight/imageToResize.height)*imageToResize.width;
        imageToResize.height=maxHeight;    
    }
}

function ldnImageResizeIE(sID, maxWidth, maxHeight)
{
    //alert(sID);
    var imageToResize = document.getElementById(sID);
    ldnImageResize(imageToResize, maxWidth, maxHeight);
}

function ticketsPrint(url)
{
    window.open(url, '_blank', 'width=800, height=600, menubar=0, status=0, toolbar=0, resizable=1, scrollbars=1', false);
    
}

function showLDNImage(url)
{
    window.open('/showLDNImage.aspx?image=' + url, '_blank', 'width=800, height=600, menubar=0, status=0, toolbar=0, resizable=1, scrollbars=1', false);    
}

function resizeWindowToImage(imageID)
{
    var image;
    image = document.getElementById(imageID);
    if(image!=null)
    {
        if(image.width < document.body.clientWidth )
            window.resizeTo(image.width + 30, document.body.clientHeight + 78)
        else
            image.width = document.body.clientWidth - 30;
        
        /*if(image.height < document.body.clientHeight)
            window.resizeTo(document.body.clientWidth, image.height + 78)*/
    }
}

function ContattaPerOfferta(url)
{
    if(window.opener)
    {
        window.opener.location.assign(url); 
        window.opener.focus(); 
        window.close();
    }
    else
    {
        window.open(url);
        window.close();
    }
}

function ShowTringMeCall()
{
    window.open('/callnow.aspx', '_blank', 'width=260, height=400, menubar=0, status=0, toolbar=0, resizable=1, scrollbars=0', false);    
}

function Prenotazioni__SetLanguage(lang)
{
    var f = document.getElementById('frmPrenotazioni');
    f.src='http://siteacceptance.wftc2.e-travel.com/plnext/AIEBCYPBCYP/CleanUpSessionPui.action?SITE=BCYPBCYP&LANGUAGE=' + lang;
}