var fadePage;               // Future fade object
var fadeAjax;               // Future ajax fade object
var pgAnim;                 // Future page animation object

var doNotCloseAnn=false;

// Universal utils

function SetCookie(name,val) {
     var t= new Date();
     var d = new Date(t.getTime() + 3600000); //expires in 60 min 60*60*1000
     document.cookie = name +"=" + val + ";expires="+d.toGMTString+";";
}

function GetCookie(sName) {
      var aCookie = document.cookie.split("; ");
	  var tmp;
      for (var i=0; i < aCookie.length; i++)
      {
         var aCrumb = aCookie[i].split("=");
         if (sName == aCrumb[0]) {
			 tmp=unescape(aCrumb[1])
			 if (tmp==undefined || tmp=="undefined") { return "" }
			 return tmp; 
		 }
      }
      return "";
}


function ageProof() {
  	if (cantDoJScookie()) { return "OK"; }
    return GetCookie("ageProof");
}

// Proof Page Utils

function InItProofPage() {
  document.getElementById("proofOfAge").value=""
  fadePage=new fade("fadeDIV","");
  fadePage.fadeIn("",1.5)
}

function validateAndEnter(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  if (key==8) return;
  if (key==13) enterSite();
  key = String.fromCharCode( key );
  var regex = /[0-9]|\./;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
    try { theEvent.preventDefault(); } catch(ex) {}
  }
}

function FadeOutAngGo(urlAddr) {// No fade out is is imposible since browser are memorazing last state and there is no event to trigger it and make page elements state different
  document.getElementById("proofOfAge").blur()   // Firefox behaivor is stupid this is fix
  document.getElementById("proofOfAge").value=""
  document.location.href=urlAddr 
}


// Home page utils

function InItHomePage() {
  var qs=querySt("page")
  if (qs) {
	  openAjaxPage(qs,"true")
	  setMenuAndGotoPage(document.getElementById(querySt("menu")),"")
  } else {
      openAjaxPage("ourBrands.html","true")
	  setMenuAndGotoPage(document.getElementById("ourBrandsMenuItem"),"")
	  
  }
  fadePage1=new fade("fadeDIVlogo","");
  fadePage2=new fade("fadeDIVmenu","");
  fadePage3=new fade("fadeDIVcontent","");
  fadeAjax=new fade("fadeAjaxDIV","ajaxPage");
  pgAnim=new ajaxPageAnim("ajaxPage");
  fadePage1.fadeIn("",1.5)
  setTimeout('fadePage2.fadeIn("",1.5)',500)
  setTimeout('fadePage3.fadeIn("",1.5)',800)
  setTimeout('openPopUpAnnouncement()',2300)
  preloadImages();
}

function preloadImages() {
	if (cantDoJScookie()) { return; }
	document.write("<div style='width:1px;height:1px;overflow:hidden;'><br/>")
	preloadImage('images/cocktails.jpg')
	preloadImage('images/contactUs.jpg')
	preloadImage('images/events.jpg')
	preloadImage('images/ourBrands.jpg')
	preloadImage('slide_shows/open/slide1.jpg')
	preloadImage('slide_shows/open/slide2.jpg')
	preloadImage('slide_shows/open/slide3.jpg')
	preloadImage('slide_shows/open/slide4.jpg')	
	preloadImage('slide_shows/open/slide5.jpg')	
	preloadImage('slide_shows/open/slide6.jpg')	
	preloadImage('slide_shows/open/slide7.jpg')	
	preloadImage('slide_shows/vodka/slide1.jpg')
	preloadImage('slide_shows/vodka/slide2.jpg')
	preloadImage('slide_shows/vodka/slide3.jpg')
	preloadImage('slide_shows/vodka/slide4.jpg')
	preloadImage('slide_shows/whisky/slide1.jpg')
	preloadImage('slide_shows/whisky/slide2.jpg')
	preloadImage('slide_shows/whisky/slide3.jpg')
	preloadImage('slide_shows/whisky/slide4.jpg')
	preloadImage('slide_shows/rum/slide1.jpg')
	preloadImage('slide_shows/rum/slide2.jpg')
	preloadImage('slide_shows/rum/slide3.jpg')
	preloadImage('slide_shows/rum/slide4.jpg')	
    document.write("</div>");
}

function preloadImage(src) {
	document.write("<img src='"+src+"'/>")
}

function PlayWav(fileName) {
	document.write ('<object><param name="autostart" value="true" /><param name="src" value="'+ fileName +'" /><param name="autoplay" value="true" /><param name="controller" value="true" /><param name="width" value="0" /><param name="height" value="0" /><embed src="'+ fileName +'" autostart="true" loop="false" width="0" height="0" /></object>')
}

function openTermsAndConditions() {
  document.getElementById("popWinBack").style.visibility="visible"
  req.xmlhttpGet("termsAndConditions.html",'',"termsAndConditions","")  
}

function closeTermsAndConditions() {
   document.getElementById("termsAndConditions").innerHTML=""
   document.getElementById("popWinBack").style.visibility="hidden"
}

var oldmenuobj;

function setMenuAndGotoPage(menuitemobj,pageUrl) {
	if (oldURL==pageUrl) return
	currmenuobj=menuitemobj;
	if (menuitemobj!="") menuitemobj.className=menuitemobj.id+'On'
	try {
		oldmenuobj.className=oldmenuobj.id
    } catch(ex) {
	}
	oldmenuobj=menuitemobj;
	var huhURL=oldURL;
	if (pageUrl!="") openAjaxPage(pageUrl);
	if (pageUrl=='ourBrands.html') if (huhURL=='vodka.html' || huhURL=='rum.html' || huhURL=='whisky.html' ) {  if (menuitemobj!="") menuitemobj.className="ourBrandsMenuItemOn" }
}

var oldURL;

function openAjaxPage(pageUrl,noAnim) {
   if (noAnim=="true") {
       req.xmlhttpGet(pageUrl,'',"ajaxPage","")
	   oldURL=pageUrl
	   return
   }
	if (oldURL!=pageUrl) { 
	   startAnim('req.xmlhttpGet("' + pageUrl + '","","ajaxPage","pgAnim.flyIn(-550,0)")')
	}
	oldURL=pageUrl
}

function startAnim(onEndEval) {
	fadeAjax.fadeOut(onEndEval,0.5)
}

/* Ajax utils */
var req= new xmlhttpGet();  // Setup ajax object


function xmlhttpGet() {

   this.xmlhttpGet = function (strURL, qstr, ID,fncToExec) {
      var xmlHttpReq = false;
      var self = this;
      // Mozilla/Safari
      if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
      }
      // IE
      else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }
      try { self.xmlHttpReq.open('GET', strURL, true); } catch(ex) {}
      try { self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  } catch(ex) {}
      self.xmlHttpReq.onreadystatechange = function() {
         if (self.xmlHttpReq.readyState == 4) {
             updatepage(self.xmlHttpReq.responseText,ID,fncToExec)
         } //else {
            //document.getElementById(ID).innerHTML = self.xmlHttpReq.responseText;
		 //}
			
      }
      try { self.xmlHttpReq.send(qstr); } catch(ex) {}
   }

   function updatepage(str,ID,fncToExec){
	   if (str.indexOf("Error")>0 && str.indexOf("404")>0) {
		 document.getElementById(ID).innerHTML="<br/><br/><br/>Server Error: File not found. "
	   } else { 
         document.getElementById(ID).innerHTML = str;
		 try {
	        eval(document.getElementById("javaScript").innerHTML);
		    ajaxInIt() 
		 } catch(ex) {}
	   }
	   if (fncToExec!=undefined) {
		   setTimeout(fncToExec,100);
	   }
   }
}

function querySt(ji) {
   hu = window.location.search.substring(1);
   gy = hu.split("&");
   for (i=0;i<gy.length;i++) {
     ft = gy[i].split("=");
     if (ft[0] == ji) {
        return ft[1];
     }
   }
}

function signUp() {
	document.location.href="mailto:info@proofbrands.com?subject=Proof events"
}

function openExternalLink(Url) {
	//window.open (Url,"")
	document.location.href=Url
}

function enterSite() {
    var dt=new Date();
	if (document.getElementById("proofOfAge").value>0 || document.getElementById("proofOfAge").value=="00") if (dt.getFullYear() - 1900 - document.getElementById("proofOfAge").value>18) { SetCookie("ageProof","OK");FadeOutAngGo("home.html") } else {FadeOutAngGo("http://www.disney.com")}

}

function cantDoJScookie() {
   SetCookie("test","test")
   if (GetCookie("test")=="test") { return false; } else {return true; }
   
}

function loopAnim() {
  ss.Next()
  setTimeout('loopAnim()',3000)
}

function openPopUpAnnouncement() {
  var AIMG = new OpacityTween(document.getElementById("annoucementIMG"),Tween.regularEaseIn,0,100,0.5);
  AIMG.onMotionFinished = function() {
     setTimeout('closePopUpAnnouncement()',15000)
 	 document.getElementById("annLine").style.visibility="visible" 
	 document.getElementById("annClose").style.visibility="visible" 
 }
  AIMG.start()
  document.getElementById("popWinBackAnnouncement").style.visibility="visible"
 
}

function closePopUpAnnouncement() {
  if (doNotCloseAnn==true) { setTimeout('closePopUpAnnouncement()',1000); return; }
  var AIMG = new OpacityTween(document.getElementById("annoucementIMG"),Tween.regularEaseIn,100,0,0.5);
  AIMG.onMotionFinished = function() {
     document.getElementById("popWinBackAnnouncement").style.visibility="hidden" 
  }
  document.getElementById("annLine").style.visibility="hidden" 
  document.getElementById("annClose").style.visibility="hidden" 
  AIMG.start() 
}


