// (C) 2002-2009 POD INTERAACTIVE - incEngine.com
// support@poditeractive.com
// Dag Flater
// inc_js.js

browserName = navigator.appName;
browserVer  = parseInt(navigator.appVersion);
if (browserName == "Netscape" && browserVer >= 3)  version = "ver1";
else      version = "ver2";

//var value = "";

// OPEN A NEW WINDOW WITH ANY PARAMETERS
function OpenWindow(url,width,height,x,y,resize,scrollbars) {
	//url = escape(url);
	if (!width)      width = 650;
	if (!height)     height = 620;
	if (!x)          x = 50;
	if (!y)          y = 50;
	if (!resize)     resize = "yes";
	if (!scrollbars) scrollbars = "yes";
	var this_name = "incEngine" + Math.round(Math.random() * 100);
	var openpopup =  window.open(url,""+this_name+"","width="+width+",height="+height+",left="+x+",top="+y+",resizable="+resize+",scrollbars=" + scrollbars);
	//if ( version == "ver1" ) { openpopup.focus(); }
}

// SAME WITH lowerCase o
function openWindow(url,width,height,x,y,resize,scrollbars) {
	OpenWindow(url,width,height,x,y,resize,scrollbars); 
}


// better version with Name - to target popup
function OpenWindow2(url,width,height,x,y,resize,scrollbars,this_name) {
        if (!width)      width = 650;
        if (!height)     height = 620;
        if (!x)          x = 50;
        if (!y)          y = 50;
        if (!resize)     resize = "yes";
        if (!scrollbars) scrollbars = "yes";
        if (!this_name)  this_name = "incEngine" + Math.round(Math.random() * 100);
        var openpopup =  window.open(url,""+this_name+"","width="+width+",height="+height+",left="+x+",top="+y+",resizable="+resize+",scrollbars=" + scrollbars);
}


// UPDATE CHECKBOXES IN A LIST
function set_options(form_name, field_name, value) {
    var this_object = document.forms[form_name].elements[field_name];
    if (value=="toggle"){
    	if (this_object[0].checked==true) value = 0;
	else value = 1;
    }
    for (var i=0; i<this_object.length; i++) this_object[i].checked = value;
	if (!this_object.length) this_object.checked = value;
}


function store_set_picture(id,image,width,height) {
	document.getElementById(id).src=image;
	if (height) document.getElementById(id).height=height;
	if (width)  document.getElementById(id).width=width;
}


function showMore(engine_name,engine_width,engine_height,engine_left,engine_top,bars,root) {
	//self.name = 'main';
	if (engine_width  == 0)	engine_width  = 400;
	if (engine_height == 0)	engine_height = 400;
	var windowprefs = 'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars='+bars+',resizable='+bars+',' +
		'width=' + engine_width + ',height=' + engine_height + ',top=' + engine_top + ',left=' + engine_left;
	var temp_title = engine_name.toUpperCase();
	OpenWindow = window.open(root, temp_title, windowprefs);
}
function show_text(text) {
	var bars; var width; var height; var top; var left;
	if (width	== 0)	var width	= 200;
	if (height	== 0)	var height	= 200;
	if (top		== 0)	var top		= 200;
	if (left	== 0)	var left	= 200;
	var windowprefs = 'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars='+bars+',resizable='+bars+',' +
		'width=' + width + ',height=' + height + ',top=' + top + ',left=' + left;
	var url = "/inc/popup_text.php3?text=" + text + "&x=" + 200 + "&y=" + 200	;
	var title = 'Admin'; //engine_name.toUpperCase();
	OpenWindow = window.open(url, title, windowprefs);
}
function dag_clean_shortcut(text) {
	text=text.toLowerCase();
	text=text.replace("'","");
	text=text.replace("'","");
	text=text.replace("'","");
	text=text.replace("'","");
	text=text.replace('"','');
	text=text.replace('"','');
	text=text.replace('"','');
	text=text.replace('"','');
	text=text.replace(' ','_');
	text=text.replace(' ','_');
	text=text.replace(' ','_');
	text=text.replace(' ','_');
	text=text.replace(' ','_');
	text=text.replace(' ','_');
	return(text);
}
function dag_clean(text) {
	text=text.toUpperCase();
	text=text.replace('_',' ');
	text=text.replace('_',' ');
	text=text.replace('_',' ');
	text=text.replace('_',' ');
	text=text.replace('_',' ');
	text=text.replace('_',' ');
	return(text);
}

function ShowWindowNameOFF() {
   var newtext = "Window_name=" + window.name;
   window.defaultStatus = newtext;
   window.setTimeout("ShowWindowName()",200);

   // onLoad="ShowWindowName();"

}

function check_email (email) {
	return ((email.indexOf(".")>2) && (email.indexOf("@")>0));
}


function show_full_size_image (id) {
	window.location.href=document.getElementById(id).src;
	//return false;
}


//msg = "Oo. ";
//spacer = "   ";
//pos = 0;
//function timer() {
   //var newtext = msg.substring(pos, msg.length) + spacer + msg.substring(0, pos);		// LOOP
//   var newtext = msg.substring(pos, (pos+1));  //msg.length  		// OUT TO LEFT
//}

function page_preloader(content, store) {
	var preload = content + ' loading from ' + store;
	document.write(preload);
	document.write(preload.length);
   window.defaultStatus = preload;
   window.setTimeout("page_preloader()",200);
}
//ShowWindowName();
//page_preloader($content,$store);


msg = "Oo. ";
spacer = "   ";
pos = 0;
function timer() {
   //var newtext = msg.substring(pos, msg.length) + spacer + msg.substring(0, pos);		// LOOP
   var newtext = msg.substring(pos, (pos+1));  //msg.length  		// OUT TO LEFT
   //var newtext = msg.substring(msg.length);  		// TIMED DISAPPEAR
   var this_element = document.getElementById("scroll");
   this_element.firstChild.nodeValue = newtext;
   pos++;
   if (pos > msg.length) {
		this_element.firstChild.nodeValue = '';
		//window.document.all.scroll.style.visibility = "hidden"; //visible
		//return; //pos = 0
   }
   else window.setTimeout("timer()",80);
}
//timer();




// 'url' must end in "?" or variable + "&"  ex: calendar.inc?   or   calendar.inc?x=1&
// ?form = could have been used below instead of &form, but then variables could not be passed in 'url'
// for some reason url?x=1&?&form doesnt work!
function open_editor(url, form, field) {
    if (form=='') form = 'forms[0]';
    var old_value = eval('document.'+form+'.'+field+'.value') ;
    old_value = escape(old_value);
    new_window = open(url+'form='+form+'&field='+field+'&old_value='+old_value,'Calendar','left=30,top=30,resizable=yes,width=250,height=200');
    return false;
}
function open_editor3(url, form, field, field2, field3) {
    if (form=='') form = 'forms[0]';
    var old_value1 = eval('document.'+form+'.'+field+'.value');	old_value1 = escape(old_value1);
    var old_value2 = eval('document.'+form+'.'+field2+'.value');old_value2 = escape(old_value2);
    var old_value3 = eval('document.'+form+'.'+field3+'.value');old_value3 = escape(old_value3);
    new_window = open(url+'form='+form+'&field='+field+'&field2='+field2+'&field3='+field3+'&old_value1='+old_value1+'&old_value2='+old_value2+'&old_value3='+old_value3,'Calendar','left=30,top=30,resizable=yes,width=250,height=200');
    return false;
}
function open_editor6(url, form, field, field2, field3, field4, field5, field6) {
    if (form=='') form = 'forms[0]';
    var old_value1 = eval('document.'+form+'.'+field+'.value' );old_value1 = escape(old_value1);
    var old_value2 = eval('document.'+form+'.'+field2+'.value');old_value2 = escape(old_value2);
    var old_value3 = eval('document.'+form+'.'+field3+'.value');old_value3 = escape(old_value3);
    var old_value4 = eval('document.'+form+'.'+field4+'.value');old_value4 = escape(old_value4);
    var old_value5 = eval('document.'+form+'.'+field5+'.value');old_value5 = escape(old_value5);
    var old_value6 = eval('document.'+form+'.'+field6+'.value');old_value6 = escape(old_value6);
    new_window = open(url+'form='+form+'&field='+field+'&field2='+field2+'&field3='+field3+'&field4='+field4+'&field5='+field5+'&field6='+field6+'&old_value1='+old_value1+'&old_value2='+old_value2+'&old_value3='+old_value3+'&old_value4='+old_value4+'&old_value5='+old_value5+'&old_value6='+old_value6,'Calendar','left=30,top=30,resizable=yes,width=250,height=200');
    return false;
}




function open_layer_window (url) {
	//if (!height) height = 400;
	//if (!width)  width  = 600;
	document.getElementById('incEngine_layer_menu').style.visibility='visible';
	//document.getElementById('incEngine_layer_menu').src='http://incengine.com'//url;
	document.getElementById('incEngine_play_field').src=url;//url;
	document.getElementById('incEngine_play_field').style.zIndex=160;//url;
	self.scrollTo(0,0);
	//document.getElementById('incEngine_layer_menu').innerHTML='This Menu!!';
}



function parse_parameters(text) {
	output = new Array();
	var FOUNDstart = 0;
	var FOUNDend = 0;
	var VALUEfound = '';
	var remainder = '';
	var PARSEcounter = -1;
	while (text.indexOf('[') > -1) {
		FOUNDstart = text.indexOf('[');
		FOUNDend = text.indexOf(']');
		VALUEfound = text.substr(FOUNDstart,FOUNDend-FOUNDstart+1);
		PARSEcounter += 1;
		output[PARSEcounter] = text.substr(FOUNDstart+1,FOUNDend-FOUNDstart-1);
		text = text.replace(VALUEfound,'');
	}
	return(output);
}


function strip_tags(arguments) {
	var re= /<\S[^><]*>/g
	arguments = arguments.replace(re, "");
	return (arguments);
}


function addslashes(input) {
    return (input+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}

function str_replace3 (search, replace, subject) {
	var result = "";
	var oldi = 0;
	for (i = subject.indexOf (search); i > -1; i = subject.indexOf (search, i)) {
		result += subject.substring (oldi, i);
		result += replace;
		i += search.length;
		oldi = i;
	}
	return result + subject.substring (oldi, subject.length);
}

function str_replace2(f, r, s){
	var ra = r instanceof Array, sa = s instanceof Array, l = (f = [].concat(f)).length, r = [].concat(r), i = (s = [].concat(s)).length;
	while(j = 0, i--)
		while(s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j < l);
	return sa ? s : s[0];
}

function str_replace(search, replace, subject) {
    var s = subject;
    var ra = r instanceof Array, sa = s instanceof Array;
    var f = [].concat(search);
    var r = [].concat(replace);
    var i = (s = [].concat(s)).length;
    var j = 0;
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    }
    return sa ? s : s[0];
}



// START SCROLLER v1.0:
var ScrollAmount = 1;
function Scroll(ScrollAmount) {
	if (document.getElementById('RELATEDITEMS'))  { document.getElementById('RELATEDITEMS').scrollLeft=document.getElementById('RELATEDITEMS').scrollLeft + ScrollAmount;  }
	if (document.getElementById('RELATEDBOUGHT')) { document.getElementById('RELATEDBOUGHT').scrollLeft=document.getElementById('RELATEDBOUGHT').scrollLeft + ScrollAmount;}	
	t = setTimeout('Scroll('+ScrollAmount+')',30);
}
function ScrollSpeed(change) {
	var character = '';
	if (change>0 && ScrollAmount <0) ScrollAmount = 1;
	else if (change<0 && ScrollAmount>0) ScrollAmount = -1;
	else ScrollAmount += change;
	clearTimeout(t);
	Scroll(ScrollAmount);
	if (ScrollAmount > 0) character = '>';
	else if (ScrollAmount < 0) character = '<';
	else character = '0';
	output = '';
	resultval = Math.abs(ScrollAmount);
	for (i=0;i<resultval;i++) output = output + character;
	if (document.getElementById('ScrollStatus')) document.getElementById('ScrollStatus').innerHTML=output; 
}
function ScrollStop() {
	ScrollAmount = 1;
	clearTimeout(t);
	if (document.getElementById('ScrollStatus')) document.getElementById('ScrollStatus').innerHTML='>';
	Scroll(1);
}
// END SCROLLER v1.0:


// SCROLLER v2.0:
var scrollLeftSpeed = 0;
var scrollUpSpeed = 0;
var t = 0;
function scrollArea(areaId,scrollLeftAmount,scrollUpAmount) {
        if (document.getElementById(areaId)) {  document.getElementById(areaId).scrollLeft=document.getElementById(areaId).scrollLeft + scrollLeftSpeed;
                                                document.getElementById(areaId).scrollTop =document.getElementById(areaId).scrollTop  + scrollUpSpeed; }
        t = setTimeout('scrollArea("'+areaId+'",scrollLeftSpeed,scrollUpSpeed)',30);
}
function scrollAreaSpeed(areaId,scrollLeftChange,scrollUpChange) {
        // Horizontal Change:
        if (scrollLeftChange>0 && scrollLeftSpeed <0) scrollLeftSpeed = 2;
        else if (scrollLeftChange<0 && scrollLeftSpeed>0) scrollLeftSpeed = -2;
        else scrollLeftSpeed += scrollLeftChange;
        // Vertical Change:
        if (scrollUpChange>0 && scrollUpSpeed <0) scrollUpSpeed = 2;
        else if (scrollUpChange<0 && scrollUpSpeed>0) scrollUpSpeed = -2;
        else scrollUpSpeed += scrollUpChange;

        clearTimeout(t);
        scrollArea(areaId,scrollLeftSpeed,scrollUpSpeed);

        // Show Speed Variables
        if (document.getElementById('LeftSpeed')) document.getElementById('LeftSpeed').innerHTML=scrollLeftSpeed;
        if (document.getElementById('LeftSpeed')) document.getElementById('UpSpeed').innerHTML=scrollUpSpeed;
}
function scrollAreaStop(areaId) {
        scrollLeftSpeed = 0;
        scrollUpSpeed  = 0;
        clearTimeout(t);
        if (document.getElementById('LeftSpeed')) document.getElementById('LeftSpeed').innerHTML=scrollLeftSpeed;
        if (document.getElementById('LeftSpeed')) document.getElementById('UpSpeed').innerHTML=scrollUpSpeed;
}
// END SCROLLER v2.0











var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var mouseX = 0;
var mouseY = 0;
function getMouseXY(e) {
        if (IE) { // grab the x-y pos.s if browser is IE
                mouseX = event.clientX + document.body.scrollLeft;
                mouseY = event.clientY + document.body.scrollTop;
        }
        else {  // grab the x-y pos.s if browser is NS
                mouseX = e.pageX;
                mouseY = e.pageY;
        }
}

function enable_and_position(id,focuson,set_left,set_top) { //,left,top) {
        //if (!left)
//      left = document.getElementById(id).style.left;
        //if (!top )
//      top  = document.getElementById(id).style.top;
        document.getElementById(id).style.visibility='visible';
        document.getElementById(id).style.left=mouseX + set_left;// - 20;
        document.getElementById(id).style.top=mouseY + set_top;// - 30;
	if (focuson) document.getElementById(focuson).focus(); //select();
}



// AJAX - INITIALIZE:
var AJAXid = 0;
var input = "";
var loading_image = "images/loading12.gif";
function getHTTPObject(){
        if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
        else if (window.XMLHttpRequest) return new XMLHttpRequest();
        else {
                alert("Your browser does not support AJAX.");
                return null;
        }
}
// AJAX - SET RESPONSE:
function ajax_response() {
        if (httpObject.readyState == 4) {
                document.getElementById('output').innerHTML = httpObject.responseText;
        }
}
// AJAX - SEND REQUEST:
function ajax_request() { 
	httpObject = getHTTPObject();
        if (httpObject != null) {
		if (document.getElementById('loading_image')) if (document.getElementById('loading_image').value) loading_image = document.getElementById('loading_image').value;
		document.getElementById('output').innerHTML="<img src='"+loading_image+"' border=0>";
                httpObject.open("GET", "ajax.php?input="+document.getElementById('input').value+"&sort="+document.getElementById('sort').value+"&limit="+document.getElementById('limit').value+"&page="+document.getElementById('page').value, true);
                httpObject.send(null);
                httpObject.onreadystatechange = ajax_response;
        }
}

var AJAXid = 0;
var input = "";
var LOADINGIMAGE = "<img id=\"tAJAXsd\" border=\"0\" height=\"12\" src=\"images/loading12.gif\">";
var ajaxCounter = 0;

// AJAX - SET RESPONSE:
function ajax_receive() {
	var OUTPUT = "";
        //document.getElementById(AJAXid+"_inner").innerHTML = httpObject.readyState;
        if (httpObject.readyState == 4) { // readyState | 0 = uninitialized | 1 = loading | 2 = loaded | 3 = interactive | 4 = complete/
                if (httpObject.responseText.substr(0,18)=="===INCENGINEADD===") {
		   	OUTPUT = document.getElementById(AJAXid+"_inner").innerHTML;
                	OUTPUT = OUTPUT.substr(0,OUTPUT.length-LOADINGIMAGE.length);  // REMOVE LOADING IMAGE
			document.getElementById(AJAXid+"_inner").innerHTML = OUTPUT + httpObject.responseText.substr(18);
		}
		else document.getElementById(AJAXid+"_inner").innerHTML = httpObject.responseText;
    		// CHECK FOR FUNCTION CALLS:
                if (document.getElementById('AjaxInvokeFields' + AJAXid + ajaxCounter)) {
			var invokeFieldsText = document.getElementById('AjaxInvokeFields' + AJAXid + ajaxCounter).value;
			var invokeFieldsArray = invokeFieldsText.split(","); 
			for (var i in invokeFieldsArray ) ajax_switch_button(invokeFieldsArray[i],'edit');
		}
		// FOCUS AND SELECT NEW ELEMENT:
		if  (	document.getElementById(AJAXid)	) {
			document.getElementById(AJAXid).focus();
			document.getElementById(AJAXid).select();
		}
        }
}
// AJAX - SEND REQUEST:
function ajax_send(template,id) {
	var ADDTEMPLATE = "";
	var AJAXSET = "";
	var INPUTTABLEID="";
	AJAXid = id;
	ajaxCounter++;
	if (document.getElementById(id)) input = document.getElementById(id).value;
	if (document.getElementById(id+"ST")) ADDTEMPLATE = document.getElementById(id+"ST").value; // URLENCODE!!!
	if (document.getElementById(id+"SV")) AJAXSET = document.getElementById(id+"SV").value;
	httpObject = getHTTPObject();
        if (httpObject != null) {
                if (document.getElementById(AJAXid+"_layer")) document.getElementById(AJAXid+"_layer").style.visibility='hidden';
                if (document.getElementById(AJAXid+"_inner")) document.getElementById(AJAXid+"_inner").innerHTML += LOADINGIMAGE;
                httpObject.open("GET", "ajax.php?template="+template+"&ID="+AJAXid+"&input="+input+"&AJAXSET="+AJAXSET+"&ADDTEMPLATE="+ADDTEMPLATE+"&ajaxCounter="+ajaxCounter, true);
                httpObject.send(null);
                httpObject.onreadystatechange = ajax_receive;
        }
}
var httpObject = null;



function ajax_submit_on_enter(id,e) {
        var keyClick;
        if (window.event) keyClick = window.event.keyClick;
        else if (e) keyClick = e.which;
        else return true;
        if (keyClick == 13) {
                ajax_send('admin_save_changes',id);
                ajax_switch_button(id,'edit'); 
                return false;
           }
        else return true;
}
function ajax_check_add (id,amount) {
	if (ajax_update_counter(id,amount)) {
		input_enable(id);
		ajax_send('admin_save_new',id); 
	}
	else input_disable(id);
}
function input_enable(id) {
	document.getElementById('AddButton'+id).style.color = "green";
//      document.getElementById('AddButton'+id).style.textDecoration = "none";
//	document.getElementById('AddButton'+id).visibility = 'visible';
}
function input_disable(id) {
        document.getElementById('AddButton'+id).style.color = "gray";
//      document.getElementById('AddButton'+id).style.textDecoration = "italic";
//      document.getElementById('AddButton'+id).visibility = 'hidden';

}
function ajax_update_counter(id,amount) {
	var result = parseInt(document.getElementById('AddCounter'+id).value) + amount;
	var max    = parseInt(document.getElementById('AddMax'+id).value);

	//alert(result + "---" + max);

	if (result < max) {
		document.getElementById('AddCounter'+id).value = result;
		input_enable(id);
		return(true);
	}
	else if (result == max) {
                document.getElementById('AddCounter'+id).value = result;
                input_disable(id);
                return(true);

	}
	else {	input_disable(id);
	 	return(false);
	}
}
function Toggle(id,input) {
        set = ","+id+",";
        value = document.getElementById(input).value;
        if (  value.split(set).length  > 1  ) { value = value.replace(set,'');  }
        else { value += set; }
        document.getElementById(input).value = value;
}




function function_exists (functionName) {
        if (typeof window.functionName=="function") return(true);
        else return (false);
}


function confirmContinue (ask,actions) {
	var a = confirm(ask);
	if (a) {
		eval (actions);
		return true;
	}
	else return false;
}


function command_delay(command,milliseconds) {
        var t = setTimeout(command,milliseconds);
}


function go_to (ElementId,go_to_url) {
	document.location = go_to_url + document.getElementById(ElementId).value;
}


var KeyMap = new Array();
KeyMap["8"] = "BACKSPACE";
KeyMap["9"] = "TAB";
KeyMap["13"] = "RETURN";
KeyMap["16"] = "SHIFT";
KeyMap["17"] = "CTRL";
KeyMap["18"] = "ALT";
KeyMap["19"] = "PAUSE";
KeyMap["20"] = "CAPSLOCK";
KeyMap["27"] = "ESCAPE";
KeyMap["32"] = "SPACEBAR";
KeyMap["37"] = "LEFTARROW";
KeyMap["38"] = "UPARROW";
KeyMap["39"] = "RIGHTARROW";
KeyMap["40"] = "DOWNARROW";
KeyMap["144"]= "NUMLOCK";
KeyMap["45"] = "INSERT";
KeyMap["46"] = "DELETE";
KeyMap["36"] = "HOME";
KeyMap["35"] = "END";
KeyMap["33"] = "PAGEUP";
KeyMap["34"] = "PAGEDOWN";


// F KEYS
KeyMap["112"] = "F1";
KeyMap["113"] = "F2";
KeyMap["114"] = "F3";
KeyMap["115"] = "F4";
KeyMap["116"] = "F5";
KeyMap["117"] = "F6";
KeyMap["118"] = "F7";
KeyMap["119"] = "F8";
KeyMap["120"] = "F9";
KeyMap["121"] = "F10";
KeyMap["122"] = "F11";
KeyMap["123"] = "F12";

// KEYPAD
KeyMap["46"] = "KEYPADDEL";
KeyMap["48"] = "KEYPAD0";
KeyMap["49"] = "KEYPAD1";
KeyMap["50"] = "KEYPAD2";
KeyMap["51"] = "KEYPAD3";
KeyMap["52"] = "KEYPAD4";
KeyMap["53"] = "KEYPAD5";
KeyMap["54"] = "KEYPAD6";
KeyMap["55"] = "KEYPAD7";
KeyMap["56"] = "KEYPAD8";
KeyMap["57"] = "KEYPAD9";
KeyMap["43"] = "KEYPADPLUS";
KeyMap["45"] = "KEYPADMINUS";
KeyMap["42"] = "KEYPADSTAR";
KeyMap["47"] = "KEYPADSLASH";

