//*****************MAIN GET OBJECT FUNCTION*****************************
function getXMLHttpObject() {
	var xmlHttp = false;
	//Use IE's ActiveX items to load the file.
	if(typeof ActiveXObject != 'undefined') {
		try {xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e) {
			try {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (E) {xmlHttp = false;}
		}
	//If ActiveX is not available, use the XMLHttpRequest of Firefox/Mozilla etc. to load the document.
	} else if (XMLHttpRequest) {
		try {xmlHttp = new XMLHttpRequest();}
		catch (e) {xmlHttp = false;}
	}
	return xmlHttp;
}

//*****************SWAP IMAGE GET FUNCTION *****************************
function change_image(type,ajax_where,ajax_select,ajax_table)
{
  var xmlHttp = getXMLHttpObject();
  xmlHttp.onreadystatechange = function()
  {

	if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
if (type == "mr")  {
   change_image_act(xmlHttp.responseText);
} else if (type == "rb_a")  {
   rb_change_image_act_a(xmlHttp.responseText);
} else if (type == "rb_b")  {
   rb_change_image_act_b(xmlHttp.responseText);
} else if (type == "rb_c")  {
   rb_change_image_act_c(xmlHttp.responseText);
} else if (type == "rb_d")  {
   rb_change_image_act_d(xmlHttp.responseText);
}

    }
  } 

	var url = "../O/inc/modules/mini_rotator/mr_get_image.php?mr_table=" + ajax_table + "&mr_where=" + ajax_where +  "&mr_select=" + ajax_select + "&rnd=" + Math.random(); 

  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}

//*****************STUPID JOINER FUNCTIONS *****************************
function tool_fade_over_a(php_data)  {
rotate_pause('interval_b');
build(this, php_data);
}
function tool_fade_out_a(php_data)  {
rotate_resume('interval_b');
hide(this, php_data);
}
function tool_fade_over_b(php_data)  {
rotate_pause('interval_c');
build(this, php_data);
}
function tool_fade_out_b(php_data)  {
rotate_resume('interval_c');
hide(this, php_data);
}
//*****************TOP SWAP IMAGE FUNCTION *****************************
function change_image_act(response)  {
var php_data = response.split(','); 
FadeInImage('mr_img_id',php_data[1],'mini_rotator_block_id');
	//document.getElementById('mr_title_id').innerHTML = php_data[2];
//alert(php_data);
}

//*****************RIGHTBAR a SWAP IMAGE FUNCTION *****************************
function rb_change_image_act_a(response)  {
var php_data = response.split(','); 
var sql_id = document.getElementById('last_id').innerHTML;
if (php_data[0] == sql_id)  {
change_image("rb_a");
} else {
FadeInImage('rb_image_id_a',php_data[1],'clear');
	document.getElementById('rb_title_id_a').innerHTML = php_data[2];
	document.getElementById('rb_caption_id_a').innerHTML = php_data[3];
	document.getElementById('rb_caption_id_a').innerHTML = php_data[3];
			document.getElementById('rb_link_id_a').onmouseover = function() {tool_fade_over_a(php_data[4]);};
			document.getElementById('rb_link_id_a').onmouseout = function() {tool_fade_out_a(php_data[4]);};
}
	document.getElementById('last_id').innerHTML = php_data[0];
}

//*****************RIGHTBAR b SWAP IMAGE FUNCTION *****************************
function rb_change_image_act_b(response)  {
var php_data = response.split(','); 
var sql_id = document.getElementById('last_id').innerHTML;
if (php_data[0] == sql_id)  {
change_image("rb_b");
} else {
FadeInImage('rb_image_id_b',php_data[1],'clear');
	document.getElementById('rb_title_id_b').innerHTML = php_data[2];
	document.getElementById('rb_caption_id_b').innerHTML = php_data[3];
//			document.getElementById('rb_link_id_b').onmouseover = function() {tool_fade_over_b(php_data[4]);};
//			document.getElementById('rb_link_id_b').onmouseout = function() {tool_fade_out_b(php_data[4]);};
}
	document.getElementById('last_id').innerHTML = php_data[0];
}


//*****************PAUSE IMAGE FUNCTION*****************************
function rotate_pause(interval)  {
if (interval == "interval_a")  {
clearInterval(interval_a);
}
if (interval == "interval_b")  {
clearInterval(interval_b);
}
if (interval == "interval_c")  {
clearInterval(interval_c);
}
}
//*****************RESUME IMAGE FUNCTION*****************************
function rotate_resume(interval)  {
if (interval == "interval_a")  {
interval_a = setInterval('change_image("mr","","id,file_path,file_names","uploads_sys")', 9000);
}
if (interval == "interval_b")  {
interval_b = setInterval('change_image("rb_a","","id,title_text,body_textarea,thumbname,image_caption_text","retail_store")', 12000);
}
if (interval == "interval_c")  {
interval_c = setInterval('change_image("rb_b","","id,title_text,body_textarea,thumbname,image_caption_text","retail_store")', 12000);
}
}


//*****************PARSE JAVASCRIPT FROM AJAX RESPONSE*****************************
function parseScript(_source) {
		var source = _source;
		var scripts = new Array();
 
		// Strip out tags
		while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) {
			var s = source.indexOf("<script");
			var s_e = source.indexOf(">", s);
			var e = source.indexOf("</script", s);
			var e_e = source.indexOf(">", e);
 
			// Add to scripts array
			scripts.push(source.substring(s_e+1, e));
			// Strip from source
			source = source.substring(0, s) + source.substring(e_e+1);
		}
 
		// Loop through every script collected and eval it
		for(var i=0; i<scripts.length; i++) {
			try {
				eval(scripts[i]);
			}
			catch(ex) {
			alert(source);	// do what you want here when a script fails
			}
		}
		// Return the cleaned source
		return source;
}

//*****************AJAX AUTO PAGINATION FOR MAIN_CONTENT*****************************
function format_content(set_table,set_where,set_order,set_sort,set_limit,content_type,set_perpage,current_page,p_container,param)
{
  var xmlHttp = getXMLHttpObject();

  xmlHttp.onreadystatechange = function()
  {
    if(xmlHttp.readyState < 4 && xmlHttp.readyState > 0)  {
      loading_fc();
    }
	if(xmlHttp.readyState == 4 && xmlHttp.status == 200)  {
      load_content(xmlHttp.responseText,p_container);
    }
  } 

var url = "../O/inc/structure/shells/plewis_art/main_content.php?set_table=" + set_table + "&set_order=" + set_order + "&set_sort=" + set_sort + "&set_limit=" + set_limit + "&set_perpage=" + set_perpage + "&set_where=" + set_where + "&content_type=" + content_type + "&page=" + current_page  + "&p_container=" + p_container + "&" + param + "&rnd=" + Math.random(); 

  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}

//*****************RELOAD CONTENT_LEFT USING MAIN_CONTENT AJAX RESPONSE*****************************
function load_content(response,p_container)  {
if (p_container == "") { p_container = 'content_left'; }
	document.getElementById(p_container).innerHTML = parseScript(response);
	document.getElementById('loading_mc_id').className="hidden_content";
    }
//*****************LOADING FOR MAIN_CONTENT*****************************
function loading_fc()  {
	document.getElementById('loading_mc_id').className="display_content";
}

//*****************SEARCH FUNCTION*****************************
function show_hide_search()  {
	document.getElementById('top_search').className="display_content";
}

//*****************FADE IN OUT FUNCTION*****************************
function SetOpacity(object,opacityPct)
{
  // IE.
  object.style.filter = 'alpha(opacity=' + opacityPct + ')';
  // Old mozilla and firefox
  object.style.MozOpacity = opacityPct/100;
  // Everything else.
  object.style.opacity = opacityPct/100;
}
function ChangeOpacity(id,msDuration,msStart,fromO,toO)
{
  var element=document.getElementById(id);
  var opacity = element.style.opacity * 100;
  var msNow = (new Date()).getTime();
  opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
  if (opacity<0) 
    SetOpacity(element,0)
  else if (opacity>100)
    SetOpacity(element,100)
  else
  {
    SetOpacity(element,opacity);
    element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",1);
  }
}
function FadeIn(id)
{
  var element=document.getElementById(id);
  if (element.timer) window.clearTimeout(element.timer); 
  var startMS = (new Date()).getTime();
  element.timer = window.setTimeout("ChangeOpacity('" + id + "',1000," + startMS + ",0,100)",1);
}
function FadeOut(id)
{
  var element=document.getElementById(id);
  if (element.timer) window.clearTimeout(element.timer); 
  var startMS = (new Date()).getTime();
  element.timer = window.setTimeout("ChangeOpacity('" + id + "',1000," + startMS + ",100,0)",1);
}
function FadeInImage(foregroundID,newImage,backgroundID)
{
  var foreground=document.getElementById(foregroundID);
  if (backgroundID)
  {
    var background=document.getElementById(backgroundID);
    if (background)
    {
      background.style.backgroundImage = 'url(' + foreground.src + ')';
      background.style.backgroundRepeat = 'no-repeat';
    }

  }
  SetOpacity(foreground,0);
  foreground.src = newImage;
  if (foreground.timer) window.clearTimeout(foreground.timer); 
  var startMS = (new Date()).getTime();
  foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "',1000," + startMS + ",0,50)",10);
}

//RECAPTCHA SETTINGS
var RecaptchaOptions = {
   theme: 'blackglass',
   lang: 'en'
};
//*****************DETERMINE BROWSER DIMENSIONS****************************
function get_browser_dimen()  {
	var winWidth = 0, winHeight = 0;
	if( typeof( window.innerWidth ) === 'number' )  {
		//Non-IE
		winWidth = window.innerWidth;
		winHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )  {
		//IE 6+ in 'standards compliant mode'
		winWidth = document.documentElement.clientWidth;
		winHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )  {
		//IE 4 compatible
		winWidth = document.body.clientWidth;
		winHeight = document.body.clientHeight;
	}
	return {width:winWidth, height:winHeight};
}
//*****************AJAX CONTENT LITE_CONTENT*****************************
function lite_content(l_content_type,l_container,l_param)  {
  var xmlHttp = getXMLHttpObject();
  xmlHttp.onreadystatechange = function()  {
    if (xmlHttp.readyState < 4 && xmlHttp.readyState > 0)  {
    	ol_launch('ol_loading_id',250,150,'ol_fade_layer_2');
	//	showhide_id('show',"main_loading_id");
    }
	if (xmlHttp.readyState == 4 && xmlHttp.status == 200)  {
		load_content(xmlHttp.responseText,l_container);
		ol_close('ol_loading_id','ol_fade_layer_2');
	//	showhide_id('hide',"main_loading_id");
    }
  };
var url = "../O/inc/structure/shells/plewis_art/lite_content.php?l_content_type=" + l_content_type + "&l_container=" + l_container + "&" + l_param + "&rnd=" + Math.random(); 
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}
//*****************IMAGE MANGER MAIN WINDOW*****************************
function ol_launch(o_ele,o_width,o_height,o_fade_layer)  {
//alert(o_ele + o_width + o_height + o_fade_layer);
	var ol_window=document.getElementById(o_ele);
	var browser_dimen = get_browser_dimen();
	var left = (browser_dimen.width/2)-(o_width/2);
	var top = (browser_dimen.height/2)-(o_height/2);
	if (o_fade_layer !== "")  {
		document.getElementById(o_fade_layer).style.display='block';
	}
		ol_window.style.left=left + 'px';
		ol_window.style.top=top + 'px';
		ol_window.style.display='block';
}
//*****************START DRAG AND DROP FUNCTIONS - ADD DRAGABLE ELEMENT IDS OR CLASSNAMES HERE*****************************
var dragbox;
var deltaX, deltaY;
var client;
function setOpacity(node,val) {
	if (node.id === 'ol_window_main_1' || node.id === 'ol_window_main_2' || node.id === 'ol_img_viewer')  {
		if (node.filters) {
			try {
			node.filters.alpha.opacity = val*100;
			} catch (e) { }
		}
	node.style.opacity = val;
	}
}
function getX(node) {
	var leftt = parseInt(node.style.left,10);
	if ( isNaN(leftt) ) {    leftt = 0;}
		if (node.className === 'dropbox')  {
			if (node.offsetParent){
		
		while(1){
			leftt+=node.offsetLeft;
			if (!node.offsetParent) {break;}
			 	node=node.offsetParent;
			}
		
		   }else if(node.x){leftt+=node.x;}
		}
	return leftt;
}
function getY(node) {
var topp = parseInt(node.style.top,10);
if ( isNaN(topp) ) {    topp = 0;}
	if (node.className === 'dropbox')  {
		if (node.offsetParent){
		
		while(1){
			topp+=node.offsetTop;
			if (!node.offsetParent){break;}
				 node=node.offsetParent;
		        }
		   }else if(node.y){topp+=node.y;}
		}
	return topp;
}
function getWidth(node) {
	return parseInt(node.style.width,10);
}
function getHeight(node) {
	return parseInt(node.style.height,10);
}
function setX(node,x) {
	if ( isNaN(x) ) {    x = 0;}
	node.style.left = x + "px";
}
function setY(node,y) {
	if ( isNaN(y) ) {    y = 0;}
		node.style.top = y + "px";
	}
function Evt(evt) {
	this.evt = evt ? evt : window.event; 
	this.source = evt.target ? evt.target : evt.srcElement;
	this.x = evt.pageX ? evt.pageX : evt.clientX;
	this.y = evt.pageY ? evt.pageY : evt.clientY;
}
Evt.prototype.toString = function () {
	return "Evt [ x = " + this.x + ", y = " + this.y + " ]";
};
Evt.prototype.consume = function () {
	if (this.evt.stopPropagation) {
		this.evt.stopPropagation();
		this.evt.preventDefault();
	} else if (this.evt.cancelBubble) {
		this.evt.cancelBubble = true;
		this.evt.returnValue = false;
	}
};
Evt.addEventListener = function (target,type,func,bubbles) {
	if (document.addEventListener) {
		target.addEventListener(type,func,bubbles);
	} else if (document.attachEvent) {
		target.attachEvent("on"+type,func,bubbles);
	} else {
		target["on"+type] = func;
	}
};
Evt.removeEventListener = function (target,type,func,bubbles) {
	if (document.removeEventListener) {
		target.removeEventListener(type,func,bubbles);
	} else if (document.detachEvent) {
		target.detachEvent("on"+type,func,bubbles);
	} else {
		target["on"+type] = null;
	}
};
//*****************MOVE FUNCTION*****************************
function dragMove(evt) {
	evt = new Evt(evt);
	setX(dragbox,evt.x - deltaX);
	setY(dragbox,evt.y - deltaY);
	evt.consume();
return false;
}
//*************RELEASE FUNCTION*******************
function dragRelease(evt) {
	evt = new Evt(evt);
	setOpacity(dragbox,1);
	Evt.removeEventListener(document,"mousemove",dragMove,false);
	Evt.removeEventListener(document,"mouseup",dragRelease,false);
}
//*****************ON DRAG FUNCTION - ADD DRAGABLE ELEMENT IDS OR CLASSNAMES HERE*****************************
function dragPress(evt) {
evt = new Evt(evt);
dragbox = evt.source;
if (dragbox.className === 'ol_window_main' || dragbox.className === 'ol_window_main_2' || dragbox.className === 'ol_img_viewer')  {
	setOpacity(dragbox,0.7);
	deltaX = evt.x - getX(dragbox);
	deltaY = evt.y - getY(dragbox);
	Evt.addEventListener(document,"mousemove",dragMove,false);
	Evt.addEventListener(document,"mouseup",dragRelease,false);
	}
}
//*****************CLOSE IMAGE MANGER OVERLAY*****************************
function ol_close(ol_l,ol_f)  {
if (ol_f !== "")  {  document.getElementById(ol_f).style.display='none';  }
if (ol_l !== "")  {  document.getElementById(ol_l).style.display='none';  }
}
//*****************POPUP*****************************
var newwindow;
function pop_external(url)  {
	newwindow=window.open(url,'name','height=600,width=700,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,status=yes');
		if (window.focus) {newwindow.focus()}
}
//*****************MAIN SWAP IMAGE FUNCTION****************************
//ELE1 AND ELE2 CAN BE ANY *ID*  IMAGE1 AND IMAGE2 CAN BE ANY *IMG URL*
var last_img = "";
var last_ele = "";
function img_swap(ele1,image1,image2)  {
	if (ele1.src === image1)  {
		ele1.src=image2;
	} else {
		ele1.src=image1;
	}
if (last_ele !== ele1)  {
img_swap_last();
}
last_img = image2;
last_ele = ele1;
}
//*****************MAIN SHOW HIDE ANY ID FUNCTION****************************
//ELE CAN BE ANY *ID* SH CAN BE *SHOW*HIDE*BOTH*
var last_showhide = "";
function showhide_id(sh,ele)  {
	ele = document.getElementById(ele);
	if (ele.className === "display_content" && sh !== "show")  { ele.className="hidden_content"; } 
	else if (ele.className === "hidden_content" && sh !== "hide")  { ele.className="display_content"; }
if (sh == "last")  {
if (last_showhide !== ele)  {
showhide_last_id();
}
last_showhide = ele;
}
}
//*****************RESET LAST SHOWHIDE FUNCTION****************************
function showhide_last_id()  {
if (last_showhide !== "")  {
last_showhide.className = "hidden_content";
}
}
//*****************RESET LAST SWAP IMAGE FUNCTION****************************
function img_swap_last()  {
if (last_ele !== "" && last_img !== "")  {
last_ele.src=last_img;
}
}
//*****************MAIN GET POST FORM FUNCTION*****************************
   function makeRequest(url,g_container,parameters,method,operations) {
  var xmlHttp = getXMLHttpObject();
  xmlHttp.onreadystatechange = function()
  {
    if(xmlHttp.readyState < 4 && xmlHttp.readyState > 0)  {
	ol_launch('ol_loading_id',250,150,'ol_fade_layer_2');
      showhide_id('show',"main_loading_id");
    }
	if(xmlHttp.readyState === 4 && xmlHttp.status === 200)  {
     load_content(xmlHttp.responseText,g_container);
	ol_close('ol_loading_id','ol_fade_layer_2');
      showhide_id('hide',"main_loading_id");
    }
  }; 
//SEND EXTRA COMMANDS FOR PHP
	parameters += operations + "&rnd=" + Math.random();
	if (method === "GET")  {
      xmlHttp.open('GET', url + parameters, true);
      xmlHttp.send(null);
	}  else  {
      xmlHttp.open('POST', url, true);
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", parameters.length);
      xmlHttp.setRequestHeader("Connection", "close");
      xmlHttp.send(parameters);
	}
   }

//*****************GET NAMES AND VALUES FROMN FORM*****************************
function get(obj,url,g_container,method,operations) {
	var getstr = "";
		if (method === "GET")  {
		getstr = "?";
		}
  for (i=0; i<obj.getElementsByTagName("input").length; i++) {
        if (obj.getElementsByTagName("input")[i].type === "submit") {
           getstr += submit_btn_name + "=" + "selected" + "&";
        }
        if (obj.getElementsByTagName("input")[i].type === "text") {
           getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
        }
        if (obj.getElementsByTagName("input")[i].type === "hidden") {
           getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
        }
        if (obj.getElementsByTagName("input")[i].type === "checkbox") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   escape(encodeURI( obj.getElementsByTagName("input")[i].value)) + "&";
           } else {
              getstr += obj.getElementsByTagName("input")[i].name + "=&";
           }
        }
        if (obj.getElementsByTagName("input")[i].type === "radio") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   escape(encodeURI( obj.getElementsByTagName("input")[i].value)) + "&";
           }
     }  

  }
  for (i=0; i<obj.getElementsByTagName("select").length; i++) {
        var sel = obj.getElementsByTagName("select")[i];
        getstr += sel.name + "=" + escape(encodeURI(sel.options[sel.selectedIndex].value)) + "&";
     }
  for (i=0; i<obj.getElementsByTagName("textarea").length; i++) {
           getstr += obj.getElementsByTagName("textarea")[i].name + "=" + 
                   escape(encodeURI(obj.getElementsByTagName("textarea")[i].value)) + "&";
        }
  makeRequest(url,g_container,getstr,method,operations);
}
