﻿function AJAXready()		{	return (ajaxr.readyState==4 && ajaxr.status==200);}

function ajaxrSuccess()		{	var res = ajaxr.responseText;	if(res.match(/status\.successfull/)){ return true;	}else{alert(ajaxr.responseText); return false;}		}

function ajaxrResponse()	{	return ajaxr.responseText.replace(/status\.successfull/g, "");}

function ajaxrRespondOnSuccess()	{	if(ajaxrSuccess()){return ajaxrResponse();}	}

function reloadOnSuccess()	{	ajaxrSuccess()?document.location.href="index.php?p=admin_products":false;	}

function AJAX(URI,func)
{	if(window.XMLHttpRequest){	ajaxr = new XMLHttpRequest();}else{	ajaxr = new ActiveXObject("Microsoft.XMLHTTP"); /*for old ies*/}
	ajaxr.onreadystatechange=function(){	if(typeof(func)!="undefined"){if(AJAXready()){eval(func); return ajaxr.responseText;}	}	}
	ajaxr.open("GET", URI);
	ajaxr.send(null);
}



function navOver(d)		{	d.style.backgroundColor='#99CC66';}

function navOff(d,active)		{	if(active){var col="#77AA44";}else{var col="transparent";}	d.style.backgroundColor=col;}

function navClick(l)	{	location.href="index.php?p="+l;	}

Array.prototype.exists = function(o) {
for(var i = 0; i < this.length; i++)
   if(this[i] === o)
     return true;
return false;
}

function noSelect(flds)
{	if (window.getSelection) {if (window.getSelection().empty){window.getSelection().empty();/*chrome*/}else if(window.getSelection().removeAllRanges){window.getSelection().removeAllRanges();/*Firefox*/}		}else
	if (document.selection) { document.selection.empty();/*IE*/}
	if(typeof(flds)=="undefined"){ for(i=0;i<flds.length; i++){flds[i].blur();}}
}



var fader = {
	state:0,
	fadetime:null,
	decel:10,
	IncRed:5,
	decelInc:this.decel/this.IncRed,
	intTime:5,
	maxw:100,
	maxh:100,
	fadein:false,
	e:null,
	fined:false,
	sliding:false,
	srd:{active:0,e:new Array(),maxw:new Array(),maxh:new Array(),fin:new Array()}, //slide request during slide
	fade:function(el,fin,maxw,maxh)
	{	if(typeof(maxh)=="undefined"){maxh=null;}
		if(typeof(maxw)=="undefined"){maxw=null;}
		if(this.sliding){var srdi=this.srd.active++; this.srd.e[srdi]=el; this.srd.maxw[srdi]=maxw; this.srd.maxh[srdi]=maxh; this.srd.fin[srdi]=fin;}else
		{	this.sliding=true;
			this.maxw=maxw; this.maxh=maxh; this.fadein=fin; this.e=el;
			this.decelInc= this.decel/this.IncRed;
			if(!this.fadein){this.state = 10 - this.decelInc;}else{this.state = this.decelInc; this.fined=false;}
			with(this.e.style){	opacity=(this.state/10); filter="alpha(opacity="+(this.state*10)+")"; if(this.maxw!=null){width=((this.state/10)*this.maxw)+"px";} if(this.maxh!=null){height=((this.state/10)*this.maxh)+"px";}  }
			if(this.fadein){this.e.style.visibility="visible"; this.fined=true;}
			this.fadetime = setInterval("fader.fadeTimer()",this.intTime);
		}
	},
	
	fadeTimer:function()
	{	if((this.state >9.6 && this.fadein)||(this.state <0.4 && !this.fadein))
		{	clearInterval(this.fadetime);
			this.state=Math.round(this.state);
			if(!this.fadein){this.e.style.visibility="hidden";}
			this.sliding=false;
			if(this.srd.active){this.srd.active--; fader.fade(this.srd.e.pop(),this.srd.fin.pop(),this.srd.maxw.pop(),this.srd.maxh.pop());}
		}
		this.e.style.opacity=(this.state/10); this.e.style.filter="alpha(opacity="+(this.state*10)+")"; if(this.maxw!=null){this.e.style.width=((this.state/10)*this.maxw)+"px";} if(this.maxh!=null){this.e.style.height=((this.state/10)*this.maxh)+"px";}
		if(this.decelInc > 0.25){this.decelInc=this.decelInc - (this.decelInc * (this.decel/100));}
		if(!this.fadein){this.state=this.state-this.decelInc}else{this.state=this.state+this.decelInc;}
	}
}



function fadeEmailer(ei, fadein){	if(typeof(fadein)=="undefined"){var fadein=true;}		if(typeof(ei)=="undefined"){var ei=0;}		document.emailer.emtoindex.value=ei;	fader.fade(document.getElementById("emailer"),fadein);	}

function submitEmailer()
{	var validEmail=true;
	if(!validEmail){return;}
	
	if(window.XMLHttpRequest){	processmail = new XMLHttpRequest();}else{	processmail = new ActiveXObject("Microsoft.XMLHTTP"); /*for old ies*/}
	processmail.onreadystatechange=function()
	{	if(processmail.readyState == 4 && processmail.status == 200)
		{	if(processmail.responseText=="yes")
			{	alert("email was sent");
				document.emailer.reset();
				fadeEmailer(0,false);
			}else{alert(processmail.responseText);}
		}
	}
	
	var email = "emsubject="+document.emailer.emsubject.value+"&emreturn="+document.emailer.emreturn.value+"&emcontent="+document.emailer.emcontent.value+"&emtoindex="+document.emailer.emtoindex.value;
	processmail.open("POST","email.php",true);
	processmail.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	processmail.setRequestHeader("Content-length", email.length);
	processmail.setRequestHeader("Connection", "close");
	processmail.send(email);
}

function cancelEmailer(){ document.emailer.reset(); fadeEmailer(0,false);}



function validate(input, type)
{	switch(type)
	{	case "int":	input = parseInt(input); break;
		case "str": input = input.replace(/['`´΄‛]/g, "<x1>"); /* ' /*  */
					input = input.replace(/["“”]/g, "<x2>"); /* " /* */
					input = input.replace(/[\\]/g, "<x3>");
					input = input.replace(/[\#]/g, "<x4>");
					input = input.replace(/[\@]/g, "<x5>");
					input = input.replace(/[\$]/g, "<x6>");
					input = input.replace(/[\%]/g, "<x7>");
					input = input.replace(/[\^]/g, "<x8>");
					input = input.replace(/[\&]/g, "<x9>");
					input = input.replace(/[\*]/g, "<x0>");
					input = input.replace(/[\(]/g, "<x10>");
					input = input.replace(/[\)]/g, "<x11>");
					input = input.replace(/[\=]/g, "<x12>");
					input = input.replace(/[\:]/g, "<x13>");
					input = input.replace(/[\;]/g, "<x14>");
					input = input.replace(/[\|]/g, "<x15>");
					input = input.replace(/[\~]/g, "<x16>");
					input = input.replace(/[\+]/g, "<x17>");
				break;
		case "serial":	var output=""; var strlen=input.length; for(i=0; i<strlen; i++){var ltr=input.substr(i,1); if(ltr.match(/[a-zA-Z0-9\-]/)){	output = output+""+ltr;}	}
							input=output;
				break;
	}
	return input;
}


function decode(input,type,m)
{	if(typeof(type)=="undefined"){var type="str";}
	if(typeof(m)=="undefined"){var m="ascii";}
	var real =new Array('*',"'",'"',"\\",'#','@','$','%','^','&','(',')','=',':',':','|','~','+');
	var ascii=new Array('*','&apos;','&quot;',"\\",'#','@','$','%','^','&amp;','(',')','=',':',':','|','~','+');
	eval("m = "+m);
	switch(type)
	{	case "str": input = input.replace('<x0>',m[0]);
					input = input.replace('<x1>',m[1]);
					input = input.replace('<x2>',m[2]);
					input = input.replace('<x3>',m[3]);
					input = input.replace('<x4>',m[4]);
					input = input.replace('<x5>',m[5]);
					input = input.replace('<x6>',m[6]);
					input = input.replace('<x7>',m[7]);
					input = input.replace('<x8>',m[8]);
					input = input.replace('<x9>',m[9]);
					input = input.replace('<x10>',m[10]);
					input = input.replace('<x11>',m[11]);
					input = input.replace('<x12>',m[12]);
					input = input.replace('<x13>',m[13]);
					input = input.replace('<x14>',m[14]);
					input = input.replace('<x15>',m[15]);
					input = input.replace('<x16>',m[16]);
					input = input.replace('<x17>',m[17]);
				break;
	}
	return input;
}

	window.addEvent = function(t,e,f,b)
	{	if(t!=null && t!=false)
		{	if (t.addEventListener) {t.addEventListener(e, f, b);}else
			if (t.attachEvent) 		{t.attachEvent("on" + e, f);}
		}else
		{	if (addEventListener)	{addEventListener(e, f, b);}else
			if (attachEvent) 	 	{attachEvent("on" + e, f);}
		}
	}

	function onloads(){	smallscreen();	if(typeof(admin_products_onload)=="function"){admin_products_onload();}}

	var smallscreenIsSet=false;
	function smallscreen()
	{	var ws=getViewSize(); var wp=getViewPos(); var wh=ws[1]; var wy=wp[1];
		var sm=wh<450; var sc=wy>3; var sv=(sm && sc);
		
		if(sv != smallscreenIsSet)
		{	document.getElementById("datebar").style.visibility=sv?"hidden":"visible";
			document.getElementById("datebar").style.top=sv?"-32px":"150px";
			fader.fade(document.getElementById("titlebanner"),!sv);
			document.getElementById("pagecontent").style.top=sv?"42px":"220px";
			document.getElementById("specials").style.top=sv?"62px":"240px";
			document.getElementById("navigator").style.top=sv?"0px":"182px";
			document.getElementById("contentfadegreen").style.top=sv?"0px":"182px";
			document.getElementById("emailer").style.top=sv?"0%":"20%";
			document.getElementById("contentspacer").style.height=sv?"259px":"75px";
			smallscreenIsSet=sv;
		}
	}


	function exposeNavigator(on)
	{	var ws=getViewSize();
		var dif=(1000-ws[0])/2;
		document.getElementById("navigator").style.left=(dif > 0 && on)?(dif)+"px":"0px";
	}

	function getViewSize()
	{	if(typeof window.innerWidth === 'number') {	return [window.innerWidth, window.innerHeight];}else
		if(document.body && (document.body.clientWidth || document.body.clientHeight)) {	return [document.body.clientWidth, document.body.clientHeight];}else
		if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {	return [document.documentElement.clientWidth, document.documentElement.clientHeight];}else
		{	return [0, 0];}
	}
	
	function getViewPos()
	{	if(typeof window.pageYOffset === 'number') {	return [window.pageXOffset, window.pageYOffset];}else
		if(document.body && (document.body.scrollLeft || document.body.scrollTop)){	return [document.body.scrollLeft, document.body.scrollTop];}else
		if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)){	return [document.documentElement.scrollLeft, document.documentElement.scrollTop];}else
		{return [0, 0];}
	}

		var jsscripts = new Array();
		function loadjsc(jsname,runEveryTime)
		{	if(jsscripts[jsname] && runEveryTime){	document.getElementsByTagName("head")[0].removeChild(jsscripts[jsname]);	delete jsscripts[jsname];}
			if(!jsscripts[jsname])
			{	var jsel=document.createElement("script");
					jsel.src="process/"+jsname+".js";
					jsel.type="text/javascript";
					document.getElementsByTagName("head")[0].appendChild(jsel);
					jsscripts[jsname]=jsel;
			}
		}
		
		function flashFile(ipw, iph, ipf, el)
		{	if(typeof(el)=="undefined"){el = document;}
			var output = '';
				output+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="'+iph+'" width="'+ipw+'" align="left">';
				output+='	<param name="wmode" value="transparent" />';
				output+='	<param name="movie" value="'+ipf+'" />';
				output+='	<param name="quality" value="best" />';
				output+='	<param name="play" value="true" />';
				output+='	<param name="scale" value="scale" />';
				output+='	<param name="salign" value="lt" />';
				output+='	<embed wmode="transparent" scale="scale" salign="lt" pluginspage="http://www.macromedia.com/go/getflashplayer" src="'+ipf+'" type="application/x-shockwave-flash" height="'+iph+'" width="'+ipw+'" quality="best" play="true" align="left" />';
				output+='</object>';
				el.innerHTML=output;
		}
		

var shortcutsActive=true;
var shortcutFunc=false;
var ctrlKeyActions=new Array();
var shiftKeyActions=new Array();
var keyActions=new Array();
var shiftIsOn=false;
var ctrlIsOn=false;
function shiftOff()		{	shiftIsOn=false; ctrlIsOn=false;	}
function shiftOn(event)	{	if(shortcutsActive && shortcutFunc && (k = shortcutCharacter(event))){ myChar=k[0]; charCode=k[1];  eval(shortcutFunc); }	}
function shortcutCharacter(event)
{	event = (event) ? event : ((window.event) ? event : null);
	if (event)
	{	//var charCode = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode); swapped order
		var charCode = (event.keyCode) ? event.keyCode : ((event.which) ? event.which : event.charCode);
		var myChar = String.fromCharCode (charCode).toLowerCase();	 // Convert Unicode character to its lowercase ASCII equivalent
		
		if(event.ctrlKey)						{useActions = ctrlKeyActions; ctrlIsOn=true;}else
		if(event.shiftKey)						{useActions = shiftKeyActions; shiftIsOn=true;}else
												{useActions = keyActions;}
		return [myChar,charCode];
	}else{return false;}
}
