var outgoingReturn = false;
function outgoing(dest,ref,rpid,type,item_id,refer){
  var url = fullBaseURL + 'scripts/outgoing.gif';

  var parameters = ''; //encodeURIComponent
  parameters += 'd='+encodeURIComponent(dest);
  parameters += '&r='+encodeURIComponent(ref);
  parameters += '&rpid='+encodeURIComponent(rpid);
  parameters += '&t='+encodeURIComponent(type);
  parameters += '&i='+encodeURIComponent(item_id);
  parameters += '&refer='+encodeURIComponent(refer);

    if(document.images){ 
        var d = new Image(1,1);
        d.src= url + '?' + parameters; 
        d.onload=function(){
          outgoingReturn = true;
        }
    } 
    
  var i = 0;
  while ( i < 500 ){
    if ( outgoingReturn ){ return true; }
    i++;
  }
  return true;
}


function showChildDIVs(o){
  for ( i in o.childNodes ){
    if ( o.childNodes[i].nodeName && o.childNodes[i].nodeName=='DIV' ){
      o.childNodes[i].style.display='block';
    }
  }
}
function hideChildDIVs(o){
  for ( i in o.childNodes ){
    if ( o.childNodes[i].nodeName && o.childNodes[i].nodeName=='DIV' ){
      o.childNodes[i].style.display='none';
    }
  }
}

function showHide(id){
	el = document.getElementById(id);
	if (el.style.display == 'none')
		el.style.display = 'inline';
	else
		el.style.display = 'none';
}
function showHideBlock(id){
	el = document.getElementById(id);
	if (el.style.display == 'none')
		el.style.display = 'block';
	else
		el.style.display = 'none';
}
function showHideBlank(id){
	el = document.getElementById(id);
	if (el.style.display == 'none')
		el.style.display = '';
	else
		el.style.display = 'none';
}

function showHideByName(name){
	el = document.getElementsByName(name);
	for (i=0; i<el.length; i++) {
		if (el[i].style.display == 'none')
			el[i].style.display = 'block';
		else
			el[i].style.display = 'none';
	}
}

function popUpVideo(name) {
  day = new Date();
  id = day.getTime();
  
  eval("page" + id + " = window.open('http://video.cuisinart.com/video/video.php?s=cuisinart&t=howto&f="+name+"', '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=1,resizable=0,width=415,height=470');");
}
function popUpRecipeVideo(URL) {
  day = new Date();
  id = day.getTime();
  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=1,resizable=0,width=910,height=600');");
}

// ---------- Start Product Quick Browse ------------ //
function quickBrowseEvents(){

 var ul = document.getElementById('quick_ul');
 if ( ul.childNodes ){
  for ( x in ul.childNodes ){
   if ( ul.childNodes[x].childNodes ){
    for ( i in ul.childNodes[x].childNodes ) {
      if ( ul.childNodes[x].childNodes[i].nodeName && ul.childNodes[x].childNodes[i].nodeName == 'A' ){
        ul.childNodes[x].setAttribute('link',ul.childNodes[x].childNodes[i].href);
        ul.childNodes[x].childNodes[i].href='javascript:void(0)';
      }
    }
    ul.childNodes[x].onclick=function(){
      hideAllDetails();
      this.className += ' hover';
    }
    ul.childNodes[x].ondblclick=function(){
      var url = this.getAttribute('link');
      if ( url )
        window.location=url;
 }}}}

 var ul = document.getElementById('quick_ul2');
 if ( ul.childNodes ){
  for ( x in ul.childNodes ){
   if ( ul.childNodes[x].childNodes ){
    for ( i in ul.childNodes[x].childNodes ) {
      if ( ul.childNodes[x].childNodes[i].nodeName && ul.childNodes[x].childNodes[i].nodeName == 'A' ){
        ul.childNodes[x].setAttribute('link',ul.childNodes[x].childNodes[i].href);
        ul.childNodes[x].childNodes[i].href='javascript:void(0)';
      }
    }
    ul.childNodes[x].onclick=function(){
      hideAllDetails();
      this.className += ' hover';
    }
    ul.childNodes[x].ondblclick=function(){
      var url = this.getAttribute('link');
      if ( url )
        window.location=url;
 }}}}
}

function hideAllDetails(){
  var ul = document.getElementById('quick_ul');
  for ( x in ul.childNodes ){
    ul.childNodes[x].className = '';
  }
  var ul = document.getElementById('quick_ul2');
  for ( x in ul.childNodes ){
    ul.childNodes[x].className = '';
  }
}
// ---------- End Product Quick Browse ------------ //

// ---------- Start Navigation Drop Downs ---------- //
var DropDowns = Array;
function showDropDown(id){
  if ( id ){
    DropDowns[id] = 'open';
    document.getElementById(id).style.visibility = 'visible';
  }
}
function hideDropDown(id){
  if ( id && DropDowns[id] && DropDowns[id] == 'open' ){
    DropDowns[id] = 'closed';
    //setTimeout('document.getElementById(\''+id+'\').style.visibility = \'hidden\';',500);
    document.getElementById(id).style.visibility = 'hidden';
  }
}
function hideOpenDropDowns(){
  for ( x in DropDowns ){
    hideDropDown(x);
  }
}
// ---------- End Navigation Drop Downs ---------- //

// code created by EA, posted on blog.firetree.net
function Point(x, y) {
    this.x = x;
    this.y = y;
}

function getObjCoords(o) {
    var oX = 0;
    var oY = 0;
    if (o.offsetParent) {
        while (1) {
            oX+=o.offsetLeft;
            oY+=o.offsetTop;
                if (!o.offsetParent) {
                    break;
                }
            o=o.offsetParent;
        }
    } else if (o.x) {
        oX+=o.x;
        oY+=o.y;
    }
    //alert(oX + ":" + oY);
    return new Point(oX, oY);
}


// ---------- Start E-mail a Page ---------- //
//document.onmousedown = hideEmailThis; //funny
function showEmailThis(obj, link_url, link_title, email_html){
  var email_pop = document.getElementById('email_pop');
  //var share_box = document.getElementById('share_box');
  if ( email_pop ){
    if (obj) {
      var offset_x = -150;
      var offset_y = -100;
      var point = getObjCoords(obj);
      email_pop.style.left = point.x + offset_x + 'px';
      email_pop.style.top  = point.y + offset_y + 'px';
      //alert(email_pop.style.top +' '+email_pop.style.left);
    }
    
    email_pop.style.display = '';
    
    // set the email page url and title if passed, otherwise current page is sent
    if (link_url) {
      document.getElementById('link_url').value = link_url;
    }
    if (link_title) {
      document.getElementById('link_title').value = link_title;
    }
    
    if (email_html) { // && document.getElementById('email_html') != undefined) {
      document.getElementById('email_html').value = email_html;
    }

  }
}
function hideEmailThis(){
  var email_pop = document.getElementById('email_pop');
  if ( email_pop ){
    email_pop.style.display = 'none';
  }
  
  if ( document.getElementById(post_response_id) && document.getElementById('email_pop_content')) {
     document.getElementById(post_response_id).innerHTML = document.getElementById('email_pop_content').value; 
  }
}
function checkEmailForm(email_form,base_url,email_file){
  var valid = true;

  var emailregex = /^[-_a-z0-9\.]+@[-_a-z0-9\.]+\.[-_a-z0-9]+$/;

  //if ( email_form.your_first_name.value == '' ){
  //  valid = false;
  //  alert('Please enter your first name.');
  //  email_form.your_first_name.focus();
  //}
  //else if ( email_form.your_last_name.value == '' ){
  //  valid = false;
  //  alert('Please enter your last name.');
  //  email_form.your_last_name.focus();
  //}
  //else if ( !emailregex.test(email_form.your_email.value) ){
  //  valid = false;
  //  alert('Please enter a valid e-mail address.');
  //  email_form.your_email.focus();
  //}
  //else if ( email_form.their_first_name.value == '' ){
  //  valid = false;
  //  alert('Please enter the recipient\'s first name.');
  //  email_form.their_first_name.focus();
  //}
  //else if ( email_form.their_last_name.value == '' ){
  //  valid = false;
  //  alert('Please enter the recipient\'s last name.');
  //  email_form.their_last_name.focus();
  //}
  //else
  if ( !emailregex.test(email_form.their_email.value) ){
    valid = false;
    alert('Please enter a valid e-mail address.');
    email_form.their_email.focus();
  }

  if ( valid ){
    post_response_id = 'email_this_form_div';
    if (!email_file)
      email_file = 'email_page.php';
    makePOSTRequest(email_form,base_url+'scripts/email/'+email_file);
  }

  return false;
}

function showEmailHTML(obj,id,html_string){
  showEmailThis(obj,null,html_string,1);
}

// ---------- End E-mail a Page ---------- //

// ---------- Start Emailed Form Validation ---------- //
function validateEmailedForm(form){
  var valids = 0;
  var fields = Array();

  if ( form.elements.required_fields && form.elements.required_fields.value != '' ){
    fields = form.elements.required_fields.value.split(/,/);
    for ( x in fields ){
//alert(form.elements[fields[x]].type + ' ' + fields[x])
      //if ( form.elements[fields[x]] && form.elements[fields[x]].value != '' ){
        var selection = false;
        if( form.elements[fields[x]].type == "text" || form.elements[fields[x]].type == "textarea" || form.elements[fields[x]].type == "hidden"){
          if ( form.elements[fields[x]].value != '' )
            selection = true;
        } else if (form.elements[fields[x]].type == "checkbox") {
            selection = true;
        } else if (form.elements[fields[x]].type == "select" || form.elements[fields[x]].type == "select-one") {
            if ( form.elements[fields[x]].options[form.elements[fields[x]].selectedIndex].value != '' )
              selection = true;
        }else //alert(form.elements[fields[x]].type + ' ' + fields[x]);        

        if ( selection )
          valids += 1;
      //}

    }
  }

  //alert(valids + ' ' + fields.length);

  if ( valids < fields.length ){
    alert ( 'Please enter all required fields.' );
    return false;
  }else return true;

}
// ---------- End Emailed Form Validation ---------- //





// ---------- Make POST Request ---------- //
var post_response_id;
function makePOSTRequest(obj,url){
  var poststr = "";
  var amp = '';
  var apoststr = '';
  for( var x=0;  x<obj.length;x++ ){
    try{
      if ( obj.elements[x].type && obj.elements[x].name ){
        apoststr = '';
        if(obj.elements[x].type == "text" || obj.elements[x].type == "textarea" || obj.elements[x].type == "hidden"){
          apoststr += amp+obj.elements[x].name+"="+encodeURIComponent(obj.elements[x].value);
        } else if (obj.elements[x].type == "checkbox") {
          apoststr += amp+obj.elements[x].name+"="+obj.elements[x].checked;
        } else if (obj.elements[x].type == "select" || obj.elements[x].type == "select-one") {
          apoststr += amp+obj.elements[x].name+"="+obj.elements[x].options[obj.elements[x].selectedIndex].value;
        }
        amp = '&';
        poststr += apoststr;
      }
    }catch(e){}
  }
  executePOSTRequest(url, poststr);
}

var http_request = false;
function executePOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
       // set type accordingly to anticipated content type
       //http_request.overrideMimeType('text/xml');
      http_request.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    alert('Cannot create XMLHTTP instance');
    return false;
  }

  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
  return true;
}

function alertContents() {
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
       //alert(http_request.responseText);
      result = http_request.responseText;
      if ( document.getElementById(post_response_id) ) {
        //var text = document.createTextNode(result);
        //document.getElementById(post_response_id).appendChild(text); 
        if ( document.getElementById('email_pop_content')) 
          document.getElementById('email_pop_content').value = document.getElementById(post_response_id).innerHTML; 
        document.getElementById(post_response_id).innerHTML = result; 
      }
    } else {
      //alert(http_request.status);
      //alert('There was a problem with the request.');
    }
  }
}

function checkAll(field)
{
  for (i = 0; i < field.length; i++)
	 field[i].checked = true ;
}

function uncheckAll(field)
{
  for (i = 0; i < field.length; i++)
	 field[i].checked = false ;
}

function replaceDivContent(id,content_string) {
  document.getElementById(id).innerHTML = content_string;
}


