// JavaScript Document
function initOverLabels () {
  if (!document.getElementById) return;  	

  var labels, id, field;

  // Set focus and blur handlers to hide and show 
  // LABELs with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
	
    if (labels[i].className == 'overlabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      }

      // Change the applied class to hover the label 
      // over the form field.
      labels[i].className = 'overlabel-apply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to LABEL elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i].getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-1000px' : '0px';
      return true;
    }
  }
}

function faq (question) {
if (document.getElementById(question).style.display == 'block') {
	document.getElementById(question).style.display = 'none';
} else {
	document.getElementById(question).style.display = 'block';
}
}

window.onload = function () {
  setTimeout(initOverLabels, 50);
};

function openShareWindow(){ 
	document.getElementById('overlay').style.display = "block";
	document.getElementById('lightbox1').style.display = "block";
	document.getElementById('temp').style.display = 'none';

}
function closeShareWindow(){
	document.getElementById('formTable').style.display = "block";
	document.getElementById('messageEmail').innerHTML = "";	
	document.getElementById('overlay').style.display = "none";
	document.getElementById('lightbox1').style.display = "none";
	document.getElementById('temp').style.display = 'block';

}
/**********************************XMLHttpRequest Routines*************************************/
var XMLHttp;
function sendRequest(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunkXML;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunkXML(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		if(text == 10){
		}else{
			nextStep(text);
		}
	}
}
function sendRequestVideo(url, results){
	XMLHttp = getXMLHttp();
	XMLHttp.open("POST",url);
	XMLHttp.onreadystatechange=handlerFunkVideo;
	XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHttp.send(results);
}
function handlerFunkVideo(){
	if(XMLHttp.readyState == 4){
		var xml = XMLHttp.responseXML;
		var text = XMLHttp.responseText;
		nextStepVideo(text);
	}
}
function getXMLHttp() {
  var XMLHttp = null;
  if (window.XMLHttpRequest) {
    try {
      XMLHttp = new XMLHttpRequest();
    } catch (e) { }
  } else if (window.ActiveXObject) {
    try {
      XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) { }
    }
  }
  return XMLHttp;
}
function nextStep(text){
	document.getElementById('formTable').style.display = "none";
	document.getElementById('messageEmail').innerHTML = text;	
}
function checkForm(){
	var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var results = "";
	var elementArray = [];
	elementArray[0] = document.getElementsByName("name")[0];
	elementArray[1] = document.getElementsByName("email")[0];
	elementArray[2] = document.getElementsByName("fname")[0];
	elementArray[3] = document.getElementsByName("femail")[0];
	var continueSend = true;
	update(elementArray);
	for(var i = 0; i < elementArray.length; i++){
		if((i == 1 || i == 3) && (elementArray[i].value == "" || !emailFilter.test(elementArray[i].value))){
			writeError("Invalid email", elementArray[i]);
			continueSend = false;
		}else if(elementArray[i].value == ""){
			writeError("This field is required", elementArray[i]);
			continueSend = false;	
		}
		if(continueSend){
			results += elementArray[i].name + '=' + elementArray[i].value +'&';	
		}
	}
	if(continueSend){
		results += 'url=' + location.href +'&';	
		sendRequest("/shareVideo.php", results);	
	}
}
function update(elementArray){
	for(var i =0; i < elementArray.length; i++){		
		if(elementArray[i].parentNode.lastChild.id == "securityRed" )
			elementArray[i].parentNode.removeChild(elementArray[i].parentNode.lastChild);
	}
}
function writeError(txt,element){
	var w = document.createElement("div");
	w.setAttribute("id", "securityRed");
	w.style.color = "red";
	//w.style.marginBottom = 10 + "px";
	w.style.fontSize = 10 + "px";
	element.parentNode.appendChild(w).innerHTML = txt;
}

function starFill(element){
	var starArray = element.parentNode.parentNode.getElementsByTagName('img');
	for(var i = 0; i < starArray.length; i++){
		starArray[i].style.left = 0 + "px";
	}
	starArray = element.parentNode.parentNode.getElementsByTagName('img');
	for(var i = 0; i < starArray.length; i++){
		starArray[i].style.left = -15 + "px";
		if(element == starArray[i]) return;
	}
}
function emptyAll(element){
	var starArray = element.parentNode.parentNode.getElementsByTagName('img');
	for(var i = 0; i < starArray.length; i++){
		starArray[i].style.left = 0 + "px";
	}
	initialFill(rating);
}
var timeout	= 100;
var closetimer	= 0;
var subnav	= 0;

// open hidden layer
function mopen(element){
	mcancelclosetime();
	mclose();
	starFill(element);
	subnav = element;
}
// close showed layer
function mclose(){
	if(subnav){
		emptyAll(subnav);
		prevObject = null;
	}
}
// go close timer
function mclosetime(){
	closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime(){
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
function totalShutdown(element){
	mcancelclosetime();
	subnav = 0;
	var score = 0;
	var whichCata = '';
	var results = "";
	
	var urlArray = location.href.split('/');
	var shortname = urlArray[urlArray.length - 1].split('.');
	var uniqueID = shortname[0];
	
	var starArray = element.parentNode.parentNode.getElementsByTagName('img');
	for(var i = 0; i < starArray.length; i++){
		starArray[i].onmouseover = doNothing;
		starArray[i].onmouseout = doNothing;
		starArray[i].onclick = doNothing;
		if(element == starArray[i]){
			score = i + 1;
		}
	}
	results += 'id='+ uniqueID + '&';
	results += 'score=' + score + '&';
	sendRequest("/tallyVotes.php", results);
	var check = element.parentNode.parentNode.childNodes;
	for(var i = 0; i < check.length; i++){
		if(check[i].className == 'check'){
			check[i].style.display = "inline";
			return;
		}
	}
}
function doNothing(){}


var rating = 0;
function writetoScreen(){
	
	var aVoteItem = "";
	aVoteItem += 
			"<div class=\"left\"><img src=\"/images/rate.gif\"/></div>\n" +
	 		"<div id=\"starArray\" class=\"stars\">\n" +
						"<div class=\"\"><img src=\"/images/allStar.jpg\" onclick=\"totalShutdown(this)\" onmouseover=\"javascript:mopen(this)\" onmouseout=\"javascript:mclosetime()\"/></div>\n" +
						"<div class=\"\"><img src=\"/images/allStar.jpg\" onclick=\"totalShutdown(this)\" onmouseover=\"javascript:mopen(this)\" onmouseout=\"javascript:mclosetime()\"/></div>\n" +
						"<div class=\"\"><img src=\"/images/allStar.jpg\" onclick=\"totalShutdown(this)\" onmouseover=\"javascript:mopen(this)\" onmouseout=\"javascript:mclosetime()\"/></div>\n" +
						"<div class=\"\"><img src=\"/images/allStar.jpg\" onclick=\"totalShutdown(this)\" onmouseover=\"javascript:mopen(this)\" onmouseout=\"javascript:mclosetime()\"/></div>\n" +
						"<div class=\"\"><img src=\"/images/allStar.jpg\" onclick=\"totalShutdown(this)\" onmouseover=\"javascript:mopen(this)\" onmouseout=\"javascript:mclosetime()\"/></div>\n" +
						"<div class=\"check\"></div>\n" +
			"</div>\n" +
		"</div>\n" +
		"<div class=\"clr\"></div>\n" +
	"</div>";
	
	document.getElementById('voteOnThis').innerHTML = aVoteItem;
	
}
function initialFill(num){
	rating = Math.floor(num);	
	var starArray = document.getElementById('starArray').getElementsByTagName('img');
	for(var i = 0; i < starArray.length; i++){
		if(rating == i) return;
		starArray[i].style.left = -15 + "px";
	}
}

/************************ Fix search on recipe pages **************************/

function checkEnter(e){ //e is event object passed from function invocation
	var characterCode;// literal character code will be stored in this variable
	
	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		location.href = "/search.html?mact=Search%2Ccntnt01%2Cdosearch%2C0&cntnt01returnid=42&cntnt01searchinput="+ 
		document.getElementById('cntnt01searchinput').value; //submit the form
		return false
	}else{
		return true
	}
}
function nextStepVideo(text){
	var textArray = text.split('==');
	
	var returnString = 
	"<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"" + 
	"codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"320\" height=\"270\">"+ 
	"<param name=movie value=\"/uploads/videos/"+ textArray[0] +".swf\">" +
	"<param name=flashvars value=\"playerOpts=pauseAtFirstFrame*true*b||autoLoad*false*b||thumbNail*/uploads/images/" + textArray[0] + "_FirstFrame.jpg*s\"\">" +
	"<param name=quality value=high>" +
	"<embed src=\"/uploads/videos/"+ textArray[0] +".swf\" quality=high " +
	"flashvars=\"playerOpts=pauseAtFirstFrame*true*b||autoLoad*false*b||thumbNail*/uploads/images/" + textArray[0] + "_FirstFrame.jpg*s\" " +
	"pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" " + 
	"type=\"application/x-shockwave-flash\" width=\"320\" height=\"270\">" +
	"</embed></object>\n" +
	"<div id=\"videoTitle\"><a href=\"/recipes/recipe/"+ textArray[0] +".html\">" + textArray[1] + "</a></div>\n";
	document.getElementById('recipeOfTheWeek').innerHTML = returnString;
}































