var logged_in = 'False';

function toogleDisplay(elemID,labelID) {
	elem = document.getElementById(elemID);
	label = document.getElementById(labelID);

	if (elem.style.display=='') {
		elem.style.display='none';
	} else {
		elem.style.display='';
	}
	moreLabel='more [+]'
	lessLabel='less [-]'
	if (label.innerHTML==moreLabel) {
		label.innerHTML=lessLabel;
	} else {
		label.innerHTML=moreLabel;
	}
}


function visit_children(elem) {
	if (elem != null ) {
		children = elem.childNodes;
		for (i=0;i<children.length;i++) {
			children[i].style.zIndex = '8';
			visit_children(children[i]);
		}
	}
}

function toogle_display(parentElemID,toogleID,node) {
	//alert(node.parentNode);
	var parelem = getAncestorElementById(node,parentElemID);
	var elem = getElementById(parelem,toogleID);
	var label = node;

	if (elem.style.display=='') {
		elem.style.display='none';
	} else {
		elem.style.display='';
	}
	moreLabel='more [+]';
	lessLabel='less [-]';
	if (label.innerHTML==moreLabel) {
		label.innerHTML=lessLabel;
	} else {
		label.innerHTML=moreLabel;
	}
}

function if_ie6_resize() {
		if (IE6) {
			resize_ie_images();
		}
}

function resize_ie_images(){
	// only do this for ie 6 and down
	function resize_images(images, width, height)  {
		for ( var j=0; j < images.length; j++ ) {
			image = images[j];
			//alert('image ---->' + image);
			image.width = image.width > width ? width : image.width;
			image.height = image.height > height ? height : image.height;
			//image.width = image.width > 10 ? 10 : image.width;
			//image.height = image.height > 7 ? 7 : image.height;
			//alert('image ---->' + image.height);
		}
	}

	// IMAGE
	classes = getElementsByClass('image',document);
	for ( var i=0; i < classes.length; i++ ) {
		element = classes[i];
		images = element.getElementsByTagName('IMG');
		resize_images(images,100,74)
	}
	// HOTDEAL
	hotdeals = getElementsByClass('hotdeal',document);
	resize_images(hotdeals,70,70);

	// HOTDEAL
	gg_thumbs = getElementsByClass('gg_thumbnail',document);
	resize_images(gg_thumbs,74,74);

	// THUMBNAIL
	p_thumbnails = getElementsByClass('p_thumbnail',document);
	resize_images(p_thumbnails,100,74);

	// PRODUCTS
	products = getElementsByClass('product',document);

	for  ( var j=0; j < products.length; j++ ) {
		images = element.getElementsByTagName('IMG');

		/**
		for  ( var k=0; k < products.length; k++ ) {
			image = images[K];
			if (image.classname == undefined ) {
			}
		}
		**/

		small_prod = getElementsByClass('small',products[j]);
		resize_images(small_prod,32,32);
		med_prod = getElementsByClass('medium',products[j]);
		resize_images(small_prod,200,200);

	}
}


var clicked = {}
function track(piid,price) {
	//alert('click');
	piidprice = piid + ',' + price
	if ( clicked.hasOwnProperty(piidprice) ) {
		clicked[piidprice] = clicked[piidprice] + 1;
	} else {
		clicked[piidprice] = 1;
	}
	//alert(printOutObject(clicked));
};

function showAllVariables() {
	text = '';
	for (i in window) {
		text += 'Property = ' + i + "\n";
	}
	alert(text)
}

function printOutObject(o) {
	out = ""
	for (var k in o) {
		out += k + " : " + o[k] + "\n";
	}
	return out;
}

function etcallhome() {
	var params = "";
	piids=[];
	for (var k in clicked) {
		piids.push(k);
	}
	if ( piids.length > 0 ) {
		var params =  "p=troll&piids="+piids.join('&piids=');
	}
	//alert(params)
	var cObj = YAHOO.util.Connect.asyncRequest('POST', '/pc/', null,params);
}



function isEmpty(field) {
	if (field.value == null || field.value == '') {
		return true;
	}
	return false;
}

function zccheck(str) {
	reZip = new RegExp(/(^\d{5}$)/);
	if ( ! reZip.test(str) ) {
		return  false;
	}
	return true;
}

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }

		 if (str.indexOf(" ")!=-1){
		    return false
		 }
        return true;
}


function toggleVisiblity( id ) {
	elem = document.getElementById(id);

	if (elem.style.visibility=="hidden"){
		elem.style.visibility="visible";
	} else {
		elem.style.visibility="hidden";
	}
	return false;
}

function tabClick(tab_index) {
	tabView.set('activeIndex', tab_index);
}

function showTab_old(tabName) {
	tab = document.getElementById(tabName);
	tabClick(tab);
}

function tabClick_old(tab) {

	if ( logged_in != 'True' ) {
		displayLoginRegistration();
		return false;
	}

	//alert('XXXXX' + tab.id)
	tab.className='on';
	tabs = Array('tb-slifter','tb-myhome','tb-myshoplist','tb-personalize');
	for (i=0; i<tabs.length; i++) {
		//alert('>>> ' + document.getElementById(tabs[i]).className);
		var content_div_id = tabs[i] + '-con';
		var content_div = document.getElementById(content_div_id);

		if (content_div) {

			if (tab.id != tabs[i] ) {
				document.getElementById(tabs[i]).className='off';
				content_div.style.display = 'none';
			} else {
				//alert('display ' + content_div);
				content_div.style.display = '';
			}
		} else {
			// Need to go server side for that information
			window.location = "/pc/?tab=" + tab.id;
			return false;
		}
	}
}

function ajaxyGetTab() {
	gettabcallback =
	{
		success: function(o)  {
            document.getElementById('formmultisend').innerHTML=successMsg;
		},
		failure: function(o) 	{
			stow_form_multisend();
			document.getElementById('formmultisend').innerHTML=failureMsg;
		},
		timeout: 5000,
		argument: []
	}


	function getTab() {
		var formObject = document.getElementById('sendSMSmultisend');
		YAHOO.util.Connect.setForm(formObject);
		stow_form_multisend();
		document.getElementById('formmultisend').innerHTML=loading;
		var cObj = YAHOO.util.Connect.asyncRequest('POST', '/pc/', callbackmultisend);
	}
}

function doLocationLookup( p, grpid, rid, ggid, z ) {
	//alert(">>>> " + p);
	dataSrc = "/pc/?p="+p.value+"&amp;grpid="+grpid.value+"&amp;rid="+rid.value+"&amp;ggid="+ggid.value+"&amp;z="+z.value;
	return swapTabDataSrc(dataSrc);
}

function doSearch(k,z) {
	dataSrc = "/pc/?p=sr&k="+k.value+"&;z="+z.value
	swapTabDataSrc(dataSrc);
	return false;
	// Add a new tab
	//myTabs.addTab( new YAHOO.widget.Tab({ label: 'Search', content: 'xxxxxxxxxxxxxxxxxx' }) );
	//alert(slifterTab);
}

function submitenter(myfield,e) {
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13) {
		doLocationLookup(document.f.p,document.f.grpid,document.f.rid,document.f.ggid,document.f.z);
		YAHOO.slifter.location.cancel();
		return false;
	} else {
		return true;
	}
}



//<a href="#" onclick="tabView.getTab(2).set('dataSrc','/pc/?save_to_msl=true&amp;piid=%(piid)s&p=gtab&tab=tb_myshoplist');tabView.getTab(2).set('cacheData',false);tabView.set('activeIndex',2);tabView.getTab(2).set('cacheData',true)">AP & CDS & ST !</a>

function swapTabDataSrc(dataSrc, tabIndex ) {
	//alert('---C ' + dataSrc + ' --- ' + tabIndex + ' --- ' + logged_in );
    if ( tabIndex != undefined && tabIndex != 0) {
	    if ( logged_in != 'True' ) {
		    displayLoginRegistration();
            return;
        }
    }
	dataSrc = pretty_escape(dataSrc);
   	try {
        YAHOO.util.History.navigate("tabview", dataSrc);
   	} catch (e) {
        window.swapTabDataSrcAction(dataSrc,tabIndex);
    }
}

function pretty_escape(s) {
  return s.replace(/ /g,"__").replace(/\?/g,"_q_").replace(/\&/g,"_a_").replace(/\=/g,"_e_");
}

function pretty_unescape(s) {
  return s.replace(/_q_/g,"?").replace(/_a_/g,"&").replace(/_e_/g,"=").replace(/__/g," ");
}

function swapTabDataSrcAction(dataSrc, tabIndex) {
	dataSrc = pretty_unescape(dataSrc);
	//alert('swapTabSrcAction ---> ( ' + dataSrc + ',' + tabIndex + ' ) ' )
	if ( tabIndex == undefined ) {
		tabIndex = 0;
	}
	var extra_params = '';
	if ( dataSrc.indexOf('?') != -1) {
		dataSrc = dataSrc + '&amp;tabonly=1';
	} else {
		dataSrc = dataSrc + '?tabonly=1';
	}

	var slifterTab = tabView.getTab(tabIndex);
	slifterTab.set('dataSrc',dataSrc );
	slifterTab.set('cacheData', false);
	slifterTab.set('content','');
	//alert('XXXXXXXX');
	tabView.set('activeIndex', tabIndex );
	slifterTab.set('cacheData', true);

	//window.location.hash = convert_to_hash_url(dataSrc);
	/*return false;*/
}

function convert_to_hash_url(old_url) {
	alert('-->' + old_url);
	hash_url = old_url.replace(/\/pc\/\?*/, '');
	//hash_url = hash_url.replace(/&/g,'/');
	//hash_url = hash_url.replace(/=/g,'/');
	alert('-->' + hash_url);
	return hash_url;
}

var loading="<h1>Sending Message!</h1><p><img src='/pc/ix/loading.gif' /></p>";

function sendGGToPhone(form) {
	var gg_form = document.getElementById('gg_form');
	var callback =
	{
		success: function(o)  {
			if(o.responseText !== undefined){
				var obj = eval( "(" + o.responseText + ")" );
				//alert(obj.pn);
				gg_form.innerHTML= 'Gift guide has been sent to ' + (obj.pn);
			}
		},
		failure: function(o) 	{
			gg_form.innerHTML = 'Problem sending sms.';
		},

		timeout: 50000,
		argument: []
	}
	YAHOO.util.Connect.setForm(form);
	gg_form.innerHTML=loading;
	var cObj = YAHOO.util.Connect.asyncRequest('POST', '/pc/', callback);
	YAHOO.util.Connect.setForm();
	return false;
}

function old_swapTabDataSrc(dataSrc) {
	//alert('>>> ' + dataSrc);
	var myTabs = new YAHOO.widget.TabView('my-tabs');
	var slifterTab = myTabs.getTab(0);

	myTabs.set('activeIndex', 0);
	slifterTab.set('content','');
	YAHOO.util.Dom.addClass(slifterTab.get('contentEl').parentNode, 'loading');
	//slifterTab.set('dataSrc',dataSrc);
	//slifterTab.set('dataLoaded', false);
	Old_get_data_from_server(dataSrc,slifterTab);

	return false;
}

function Old_get_data_from_server(dataSrc,tab) {
	var callback =
	{
		success: function(o)  {
			if(o.responseText !== undefined){
				tab.set('content',o.responseText);
				snag_and_eval_js(o.responseText);
			}
			YAHOO.util.Dom.removeClass(tab.get('contentEl').parentNode, 'loading');
		},
		failure: function(o) 	{
			YAHOO.util.Dom.removeClass(tab.get('contentEl').parentNode, 'loading');
			tab.set('content','Problem loading data, try again later.');
		},

		timeout: 50000,
		argument: []
	}

	var cObj = YAHOO.util.Connect.asyncRequest('GET', dataSrc, callback);
}

function fetch_data(id) {
	stuff = document.getElementById(id);
	//alert(String(stuff.innerHTML));
	return String(stuff.innerHTML);
}


function fetch_url(url) {
	stuff = document.getElementById(id);
	//alert(String(stuff.innerHTML));
	return String(stuff.innerHTML);
}

function snag_and_eval_js( text, offset ) {
	var offset = (offset == null) ? 0 : offset;

	var start_tag = '<script type="text/javascript">';
	var end_tag = '</script>';

	var start_index = text.indexOf(start_tag, offset);
	var end_index = text.indexOf(end_tag, offset);
	//alert(start_index + ' to ' + end_index );
	//alert( text );
	if ( start_index < 0 ) {
		return false;
	} else {
		js = text.substring(start_index + start_tag.length  ,end_index);
		//alert(js);
		eval( js );
		snag_and_eval_js( text, end_index + end_tag.length );
	}
}

function getElementById(the_node,the_id) {
	//get all the tags in the doc
	node_tags = the_node.getElementsByTagName('*');
	for (i=0;i<node_tags.length;i++) {
		//is there an id attribute?
		if (node_tags[i].id == the_id ) {
			return node_tags[i];
		}
	}
}


function getAncestorElementById(child_node,id) {
	var parent = child_node.parentNode;
	if (parent && parent.id == id ) {
		//alert('>>> ' + parent);
		return parent;
	} else {
		return getAncestorElementById(parent,id);
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null)
		node = document;
	if (tag == null)
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var j = 0;
	for (i = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}



function validate_personalize(form,formNumber) {
	// formNumber supports multiple forms in the page
	valid = true;
	// Need passwords to exist and be the same
	//alert(form.email.value + form.password.value + form.password2.value );

	if (  ! isEmpty(form.emailaddress)  && ! echeck( form.emailaddress.value ) ) {
		//alert(isEmpty(form.emailaddress) + " ____ " +  echeck( form.emailaddress.value ) );
		field_error(form.emailaddress,form.emailaddress,document.getElementById('email_error' + formNumber ),'Please enter a valid email');
		valid = false;
	} else {
		clearError(form.emailaddress, document.getElementById('email_error' + formNumber ));
	}
	if (  ! isEmpty(form.zipcode)  && ! zccheck( form.zipcode.value ) ) {
		field_error(form.zipcode,form.zipcode,document.getElementById('zc_error' + formNumber ),'Please enter a valid zip code');
		valid = false;
		//document.getElementById('zc_error' + formNumber ).innerHTML = "XXXXXXXXXX"
	} else {
		clearError(form.zipcode,document.getElementById('zc_error' + formNumber ));
	}

	if (document.getElementById('current_pass').style.display != 'none' ) {
		//alert(document.getElementById('current_pass').style);
		alert('Check passwords ');

		if ( isEmpty(form.current_password)  ) {
			  field_error(form.current_password,form.current_password,document.getElementById('current_p_error' + formNumber ),'Please enter current password');
      valid = false;
    } else {
      clearError(form.password,document.getElementById('current_p_error' + formNumber ));
    }

		if ( isEmpty(form.password)  ) {
			field_error(form.password,form.password,document.getElementById('p1_error' + formNumber ),'Please enter password');
			valid = false;
		} else if ( form.password.value.length < 6  ) {
			field_error(form.password,form.password,document.getElementById('p1_error' + formNumber ),'Password must be at least six characters');
			valid = false;
		} else {
			clearError(form.password,document.getElementById('p1_error' + formNumber ));
		}

		if ( isEmpty(form.password2) ) {
			field_error(form.password2,form.password2,document.getElementById('p2_error' + formNumber ),'Please verify password');
			valid = false;
		} else if ( form.password.value != form.password2.value ) {
			field_error(form.password2,form.password2,document.getElementById('p2_error' + formNumber ),'Passwords must match');
			valid = false;
		}	else {
			clearError(form.password2,document.getElementById('p2_error' + formNumber ));
		}
	}
	//alert(valid);
	return valid;
}

/*

function chkpass(pn,pass) {
	var postData = "pn=" + pn  + "&pass=" + pass
	var callback = {
		success:handleSuccess,
		failure: handleFailure,
		argument: ['foo','bar']
	}
	var sUrl = "/pc/post.cgi";
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
}
*/


function validate_reg(form) {
	valid = true;
	// Need passwords to exist and be the same
	//alert(form.email.value + form.password.value + form.password2.value );
	div = document.getElementById('phone-number-entry');


	if (  ! isEmpty(form.email)  && ! echeck( form.email.value ) ) {
		//alert(isEmpty(form.email) + " ____ " +  echeck( form.email.value ) );
		field_error(form.email,form.email,getElementById(form,'email_error'),'Please enter a valid email');
		valid = false;
	} else {
		clearError(form.email,getElementById(form,'email_error'));
	}
	if (  ! isEmpty(form.zc)  && ! zccheck( form.zc.value ) ) {
		field_error(form.zc,form.zc,getElementById(form,'zc_error'),'Please enter a valid zip code', div);
		valid = false;
	} else {
		clearError(form.zc,getElementById(form,'zc_error'));
	}

	if ( isEmpty(form.password)  ) {
		field_error(form.password,form.password,getElementById(form,'p1_error'),'Please enter password');
		valid = false;
	} else if ( form.password.value.length < 6  ) {
		field_error(form.password,form.password,getElementById(form,'p1_error'),'Password must be at least six characters');
		valid = false;
	} else {
		clearError(form.password,getElementById(form,'p1_error'));
	}

	if ( isEmpty(form.password2) ) {
		field_error(form.password2,form.password2,getElementById(form,'p2_error'),'Please verify password');
		valid = false;
	} else if ( form.password.value != form.password2.value ) {
		field_error(form.password2,form.password2,getElementById(form,'p2_error'),'Passwords must match');
		valid = false;
	} else {
		clearError(form.password2,getElementById(form,'p2_error'));
	}
	//alert(valid);
	return valid;
}

function validate_change_pw(form) {
	valid = true;
	// Need passwords to exist and be the same
	//alert(form.email.value + form.password.value + form.password2.value );

	if ( isEmpty(form.password)  ) {
		field_error(form.password,form.password,getElementById(form,'p1_error'),'Please enter password');
		valid = false;
	} else if ( form.password.value.length < 6  ) {
		field_error(form.password,form.password,getElementById(form,'p1_error'),'Password must be at least six characters');
		valid = false;
	} else {
		clearError(form.password,getElementById(form,'p1_error'));
	}

	if ( isEmpty(form.password2) ) {
		field_error(form.password2,form.password2,getElementById(form,'p2_error'),'Please verify password');
		valid = false;
	} else if ( form.password.value != form.password2.value ) {
		field_error(form.password2,form.password2,getElementById(form,'p2_error'),'Passwords must match');
		valid = false;
	} else {
		clearError(form.password2,getElementById(form,'p2_error'));
	}
	//alert(valid);
	return valid;
}

function clearError(input,error) {
	//alert(input + '====' + error);
	input.style.border= '1px solid black';
	msg(error,'','');
}

function set_fields_enabled (enabled,blockname)
{
  var block = document.getElementById(blockname);

  var bgcolor = enabled ? ''        : '#dddddd';
  var fgcolor = enabled ? '#000000' : '#999999';

  var inps = block.getElementsByTagName('INPUT');
  var lbls = block.getElementsByTagName('LABEL');
  for (var i=0; i<inps.length; i++) {
    inps[i].disabled = !enabled;
    inps[i].style.backgroundColor = bgcolor;
  }
  for (var i=0; i<lbls.length; i++)
    lbls[i].style.color = fgcolor;
}

function field_error(field,input,error,mesg) {

	//alert(field + ' --- ' + input + '====' + error);
	field.value = '';
	field.focus();
	msg(error,'error',mesg);
	input.style.border = '2px solid red';
}


function showLogin() {
	var logindiv = document.getElementById('logindiv');
	logindiv.style.display = '';
	document.getElementById('areacode').focus();
}

