/*----------------------------------------------------------------------------------*/
// ebmerc custom js hacktastic stuff
/*----------------------------------------------------------------------------------*/

function submitViaEnter(evt) {
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    var form = target.form;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
        form.submit();
        return false;
    }
    return true;
}

function showsearch() {
		document.getElementById('searchbox').style.display = "inline";
		document.getElementById('searchbox').style.visibility = "visible";
		document.getElementById('searchterms').focus();		
	}

function fbs_1(urrl) {
	sharewindow = window.open('http://www.facebook.com/sharer.php?&u=http%3A%2F%2Febmerc.com%2F'+ urrl ,'fbsharer','toolbar=0,status=0,width=750,height=550');
	if (window.focus) {sharewindow.focus()}
	return false;
}

function twt_1(whuh) {
	sharewindow1=window.open('http://twitter.com/home?status=' + whuh,'twtsharer','toolbar=0,status=0,width=750,height=550');
	if (window.focus) {sharewindow1.focus()}
	return false;
}

// item detail scroller... can we make a bigger js that does even less?
function Scrollrt() {
    	var s = document.getElementById('picturebar').scrollLeft;
		document.getElementById('picturebar').scrollLeft = s + 9;
		if (document.getElementById('picturebar').scrollLeft > s) {
			document.getElementById('ltarro').style.visibility = "visible";
    		scrolldelay = setTimeout('Scrollrt()',60);
    	}
    	else {
			document.getElementById('rtarro').style.visibility = "hidden";
			document.getElementById('ltarro').style.visibility = "visible";
    	}
};
function Scrolllt() {
    	var s = document.getElementById('picturebar').scrollLeft;
		document.getElementById('picturebar').scrollLeft = s - 9;
		if (document.getElementById('picturebar').scrollLeft < s) {
			document.getElementById('rtarro').style.visibility = "visible";
	    	scrolldelay = setTimeout('Scrolllt()',60);
	    }
	    else {
			document.getElementById('rtarro').style.visibility = "visible";
			document.getElementById('ltarro').style.visibility = "hidden";
	    }
};
function stopScroll() {
	try {
    	clearTimeout(scrolldelay);
    }
    catch(err) {
    }
};
function arrowfunction() { // if div is scrollable, make right arrow visible
		document.getElementById('picturebar').scrollLeft = 1; // nudge it 2?
		var b = document.getElementById('picturebar').scrollLeft;
		if (b != 0) { // if it moved.. ie scrollable
			document.getElementById('rtarro').style.visibility = "visible";
		}
};


// for blog iframe, sets only banner width
function getBwidth(){ 
	var wid = document.body.clientWidth;
	if (wid <= 1140) 		{w= 660; b = 0;} else //2
	if (wid>1140 && wid<=1380){w=980; b = 150;} else //3
	if (wid>1380 && wid<=1700){w=1300; b = 300;} else //4 .. def
	if (wid>1708 && wid<=2024){w=1620; b = 450;} else //5
	if (wid>2024 && wid<=2664){w=1944; b = 750;} else //6 skip 7
	if (wid>2664)			{w=2264; b = 850;}      //8
	return b;
};

/*
		if (wid <= 1210) 		{w= 760; b = 120;} else //2
		if (wid>1210&&wid<=1580){w=1130; b = 140;} else //3
		if (wid>1580&&wid<=1950){w=1500; b = 200;} else //4 .. def
		if (wid>1950&&wid<=2320){w=1870; b = 350;} else //5
		if (wid>2320&&wid<=3060){w=2240; b = 650;} else //6 skip 7
		if (wid>3060)			{w=2610; b = 750;}      //8
old 361 251 ... margins 13 left.... 10 top
 =  374  261
new 324  224
dif -50w -37 h

old 374
new 324
dif -50 w
              set w to   if win
                THIS
2 / 748   648   +12     <= 88 over next actual-size up
3 / 1122  972   +8       > 88 over this & <= 84 over next actual-siz up
4 / 1496  1296  +4       > 84 over this & <= 80 over next siz up
5 / 1870  1620   0       > 88 over this & <= 76 over next actl siz up
6 / 2244  1948  -4       > 76 over this & <= 68 over 2 sizes up
7 / 2618  2272  -8                         > 68 over next siz up
8 / 2992  2596   
*/

function persistntmonky(){
	var wid = document.body.clientWidth;
	var w = document.getElementById('content').style.width.slice(0,-2);
	if (!((wid<=1140 && w==660) || (wid>1140 && wid<=1380 && w==980) || (wid>1380 && wid<=1700 && w==1300) ||  (wid>1708 && wid<=2024 && w==1620) || (wid>2024 && wid<=2664 && w==1944) || (wid>2664 && w==2264))) {
		if (wid <= 1140) 		{w= 660; b = 0;} else //2
		if (wid>1140 && wid<=1380){w=980; b = 150;} else //3
		if (wid>1380 && wid<=1700){w=1300; b = 300;} else //4 .. def
		if (wid>1708 && wid<=2024){w=1620; b = 450;} else //5
		if (wid>2024 && wid<=2664){w=1944; b = 750;} else //6 skip 7
		if (wid>2664)			{w=2264; b = 850;}      //8
		document.getElementById('content').style.width = w + 'px';
		document.getElementById('banner').style.backgroundPosition = b + 'px 0px';
		// lock left margin at wider-than-standard settings
		if (w > 2000) {document.getElementById('content').style.marginLeft = '100px';} // old as are all 'b' vals
		else {document.getElementById('content').style.marginLeft = 'auto';}
		requestor('browsize', w + "X" + b);
	}
};

// fire link by ID
function ClickMe(lnk){
// instead of firing event, we use sbox func
// fireevent was buggy in opera and safari
  var el = document.getElementById(lnk);
  if(el) Shadowbox.open(el);
//	fireEvent(document.getElementById(lnk),'click');
};

function fireEvent(obj,evt){ // depra-freekin-cated
	var fireOnThis = obj;
	if( document.createEventObject ) {
		var evtt = document.createEventObject();
		fireOnThis.fireEvent('on'+evt,evtt);
//		fireOnThis.fireEvent('on'+evt);
	}
	else if( document.createEvent ) {
		var evObj = document.createEvent('MouseEvents');
		evObj.initEvent( evt, true, false );
		fireOnThis.dispatchEvent(evObj);
	}
};

function c2pp(){
	var fm = document.getElementById('ppbutt');
	parent.requestor('c2pp', escape(fm.custom.value));
	setTimeout('parent.Shadowbox.close()',9250); // delay before closing popup
	return true;
};

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

// 1st inven ck... within item view
function buystuff(){
	var fm = document.getElementById('orderf');
	var qt = 1 * fm.quan.value;
	if (qt > 0) {
		if (fm.whut.value == "sub") {
			var strr = fm.sizecolor[fm.sizecolor.selectedIndex].innerHTML;
			var stok = 1 * (strr.substring (strr.indexOf('<!-- ') + 5, strr.indexOf(' -->')));
		}
		else if (fm.whut.value == "simple") {
			var stok = fm.stok.value
		}
		if  (qt > stok) {
			var ss = 'There';
			if (stok == 1) {ss = ss + ' is';} else {ss = ss + ' are';}
			ss = ss + ' currently only ' + stok + ' in stock.';
			ss = ss + ' You can buy ' + stok + ' now. We\'ll email you when more become available.';
			if (fm.whut.value == "simple") {
				ss = ss + "<br><a href='#' class='men1' onClick=\"parent.requestor('addc', '" + fm.name1.value + "x" + stok + "'); parent.ClickMe('cartlaunch');  \" >BUY " + stok + "</a>";
			} else if (fm.whut.value == "sub") {
				ss = ss + "<br><a href='#' class='men1' onClick=\"parent.requestor('addc', '" + fm.name1.value + "s" + fm.sizecolor.value + "x" + stok + "'); parent.ClickMe('cartlaunch'); \" >BUY " + stok + "</a>";
			}
			document.getElementById('buttn').style.visibility='hidden';
			document.getElementById('buy-box').innerHTML= ss;
		}
		else {
			if (fm.whut.value == "simple") {
				parent.requestor('addc', fm.name1.value + "x" + qt);
			} else if (fm.whut.value == "sub") {
				parent.requestor('addc', fm.name1.value + "s" + fm.sizecolor.value + "x" + qt);
			}
			var ss = 'Adding ' + qt + ' to CART\n   processing...' ;
			document.getElementById('buttn').style.visibility='hidden';
			document.getElementById('buy-box').innerHTML= ss;
//			parent.ClickMe('cartlaunchitem');
			if(document.getElementById('cartlaunch')) { // broke out item
			  	var el = document.getElementById('cartlaunch');
				if(el) Shadowbox.open(el);
				ss = "DONE.";
				document.getElementById('buy-box').innerHTML= ss;
			}
			else {
				var el = parent.document.getElementById('cartlaunchitem');
				if(el) parent.Shadowbox.open(el);
			}

		}
	}
	else { // zero qty
		alert('A quantity of 1 or more must be entered.');
	}
};

// vestigial
function saveit() {
	//var arr = new Array();
	//for(i=0; i<document.createnew.elements.length; i++) {
		//arr[document.createnew.elements[i].name] = document.createnew.elements[i].value;
	//}
	//requestor('savenew',arr);
};

// specific client-server comms - ajax
function requestor(func,myObj) {
	//alert( func + "    " + myObj);
	//var ser = new PHP_Serializer(true);  // using plain text for now
	//var mySer = ser.serialize(myObj);
	myRand=parseInt(Math.random()*99999);
	//var url = "extras/jt.php?func="+ func +"&myser=" + mySer + "&rand=" + myRand;
	var url = "/extras/sess_change.php?func="+ func +"&val=" + myObj + "&rand=" + myRand;
	XMLHttpRequestObject=new GetXmlHttpObject();
	//alert(url);
	if (XMLHttpRequestObject==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", url, true);
		XMLHttpRequestObject.onreadystatechange = function() {
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
				try {
					//var stuff = JSON.parse(XMLHttpRequestObject.responseText); // hell no
					//var desc =  stuff[0];
					//var myObj =  stuff[1];
					// return
					var stuff = XMLHttpRequestObject.responseText;
					var desc =  stuff.substr(0,4);
					var mesg =  stuff.substr(4);
					//alert(back +"  "+ stuff);
					switch (desc) {
						case 'brow':
							// nothing done
							break;
						case 'addc': // add item to cart
							// echo qty on cart link
							document.getElementById("cartlaunch").innerHTML = "(" + mesg + ") CART";
							// exception not handled
							break; // case 
						case 'c2pp':
							if (mesg == "1") { // success
								// nothing done
							}
							break;
						case 'ifmht':
							if (mesg == "1") {
								// nothing done
							}
							break;
					} // switch
				} // try
				catch(err) {
					// ignore error. debug code below
					// alert(err);
					// document.getElementById("ress").innerHTML = "Description not found. ERROR";
					// return 'HTTP requestor error';
				} // catch
			} // if ready 4 status 200
		} // state change
		XMLHttpRequestObject.send(null);
	}
};   ////// requestor

function GetXmlHttpObject() { // create requestor object
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
return xmlHttp;
};
