// Design Brooklyn (www.designbrooklyn.com) 
// Common Functions

function redirect(linkTo) {
	window.location = linkTo;
}
			
var newwindow;
function openpopup(url,w,h) {
	if (newwindow) {
		newwindow.close();
	}
	var dims = 'location=0,status=0,scrollbars=1,resizable=1,width='+w+',height='+h;
	newwindow = window.open(url,'newwindow',dims);
	newwindow.focus();

}
function WriteLayer(ID,parentID,sText,altText) {
	var	out = "<P align=\"center\"><img src=\"" + sText + "\" alt=\"" + altText + "\"></P>";
	if (document.layers) {
		var oLayer;
		if (parenTID) {
			oLayer = eval('document.' + parentID + '.document.' + ID + '.document');
		} else {
			oLayer = document.layers[ID].document;
		}
		oLayer.open();
		oLayer.write(out);
		oLayer.close();
	}
	else if (parseInt(navigator.appVersion)>=5&&navigator.appName=="Netscape") {
		document.getElementById(ID).innerHTML = out;
	}
	else if (document.all) document.all[ID].innerHTML = out;
}

function WriteByID(ID,parentID,sText) {
	var	out = sText
	if (document.layers) {
		var oLayer;
		if (parenTID) {
			oLayer = eval('document.' + parentID + '.document.' + ID + '.document');
		} else {
			oLayer = document.layers[ID].document;
		}
		oLayer.open();
		oLayer.write(out);
		oLayer.close();
	}
	else if (parseInt(navigator.appVersion)>=5&&navigator.appName=="Netscape") {
		document.getElementById(ID).innerHTML = out;
	}
	else if (document.all) document.all[ID].innerHTML = out;
}

function showhide(el) {
	document.getElementById(el).style.display=(document.getElementById(el).style.display=="none")?"block":"none";
}
function rotate_image(el){
	var childImg = el.getElementsByTagName("img")[0];
	var childDiv = el.parentNode.getElementsByTagName("div")[0];
	childImg.src = (Number(childDiv.style.height.replace("px","")) <= 1) ? "/images/arrowDownpurple.jpg" : "/images/arrowRight.jpg";
}
function triangle_color(el){
	var childImg = el.getElementsByTagName("img")[0];
	var childDiv = el.parentNode.getElementsByTagName("div")[0];
	childImg.src = (Number(childDiv.style.height.replace("px","")) >= 1) ? "/images/arrowDownpurple.jpg" : "/images/arrowRightpurple.jpg";
}
function triangle_color_out(el){
	var childImg = el.getElementsByTagName("img")[0];
	var childDiv = el.parentNode.getElementsByTagName("div")[0];
	if(childImg.src == 'http://performingartsconvention.dreamhosters.com/images/arrowDownpurple.jpg'){
		childImg.src = "/images/arrowDown.jpg";
	}else{
		childImg.src = "/images/arrowRight.jpg";
	}
}
function jshowhide(obj) {
	var parent = obj.parentNode;
	var child = parent.getElementsByTagName("div")[0];
	$(child).slideToggle("fast");
}
function jrotate(obj) {
	var childImg = obj.getElementsByTagName("img")[0];
	newID = "imgRotate_"+String(Math.random()*500);
	childImg.setAttribute("id",newID);
	$("#"+newID).rotate(90);
}
function show(el) {
	document.getElementById(el).style.display="block";
}
function hide(el) {
	document.getElementById(el).style.display="none";
}

function popupimg(src,width,height) {
	src = 'view_image.php?src='+src;
	var w = (parseInt(width) + 50);
	var h = (parseInt(height) + 60);
	var dims = 'location=0,status=0,scrollbars=0,resizable=1,width='+w+',height='+h;
	window.open(src,null,dims);
}


function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function urldecode( str ) {
    var ret = str;      
    ret = ret.replace(/\+/g, '%20');
    ret = decodeURIComponent(ret);
    ret = ret.toString();
    return ret;
}
function urlencode( str ) {
    var ret = str;   
    ret = ret.toString();
    ret = encodeURIComponent(ret);
    ret = ret.replace(/%20/g, '+');
    return ret;
}
function switchImage(target,iSrc,wid,hei) {
	document.getElementById(target).src = iSrc;
	if (wid != "undefined" && wid != '' && wid != null) {
		document.getElementById(target).width = wid;
	}
	if (hei != "undefined" && hei != '' && hei != null) {
		document.getElementById(target).height = hei;
	}
}
function checkAll(ids) {
	res = ids.search("|");
	if (res != -1) {
		arr_ids = ids.split("|");
		if (document.getElementById(arr_ids[0]).checked == true) {
			for (i=0; i < arr_ids.length; i++) {
				document.getElementById(arr_ids[i]).checked = false;
			}
		} else {
			for (i=0; i < arr_ids.length; i++) {
				document.getElementById(arr_ids[i]).checked = true;
			}
		}
	} else {
		if (document.getElementById(ids).checked == true) {
			document.getElementById(ids).checked = false;
		} else {
			document.getElementById(ids).checked = true;
		}
	}
}

function formSub(id) {
	document.getElementById(id).submit();
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
	scrOfX = window.pageXOffset;
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollTop ) ) {
    //DOM compliant
    scrOfX = document.body.scrollLeft;
	scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfX = document.documentElement.scrollLeft;
	scrOfY = document.documentElement.scrollTop;
  }
  return [ scrOfX, scrOfY ];
}

// xmlhttpCall takes url args target & params 
// returns responseText to callback function
function xmlhttpCall(params, target, callback) {
	var xmlhttp;
	if (window.XMLHttpRequest) {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	  // code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	} else {
	  alert("Your browser does not support XMLHTTP!");
	} xmlhttp.onreadystatechange=function() {
		if(xmlhttp.readyState==4 && callback != null) {
		  callback(xmlhttp.responseText);
		}
	}
	xmlhttp.open('POST', target, true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	xmlhttp.send(params);
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function submitComment() {
	removeDefault('name','Name');
	removeDefault('email','Email');
	removeDefault('comment','Comment');
	var params = "";
	var name = document.getElementById('name').value;
	var email = document.getElementById('email').value;
	var comment = document.getElementById('comment').value;
	var article_id = document.getElementById('article_id').value;
	params = "&name="+name+"&email="+email+"&comment="+comment+"&article_id="+article_id;
	var target = "/comment_form.php";
	xmlhttpCall(params,target,function(responseText) { WriteByID('comment_form',null,responseText); });
}
function submitFeedback() {
	removeDefault('fname','Name');
	removeDefault('femail','Email');
	removeDefault('fcomment','Message');
	var params = "";
	var name = document.getElementById('fname').value;
	var email = document.getElementById('femail').value;
	var comment = document.getElementById('fcomment').value;
	params = "&name="+name+"&email="+email+"&comment="+comment;
	var target = "/feedback_form.php";
	xmlhttpCall(params,target,function(responseText) { WriteByID('feedback_form',null,responseText); });
}

var enterHandler = "";
function checkEnter(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if (evt.keyCode == 13)  {
	  if (enterHandler != '') {
		  enterHandler();
	  }
	  return false;
  }
}
function setEnterHandler(callback) {
	enterHandler = callback;
}
document.onkeypress = checkEnter; 

function overlay(href,width,height) {
	start_spinner();
	if (width == undefined) {
		width = 650;
	}
	if (height == undefined) {
		height = 500;
	}
	curModal = this;
	$(this).modal({src:href, width:width, height:height}).open(); return false;
}
function closeOverlay() {
	$(curModal).modal().close();
	loadLoginStatus();
	var cur_loc = String(window.location);
	if (cur_loc.search(/dashboard.php/) != -1) {
		setTimeout("redirect('"+cur_loc+"')",500);
	}
}
function start_spinner() {
	document.body.style.cursor = "wait";
	top.document.body.style.cursor = "wait";
}
function stop_spinner() {
	document.body.style.cursor = "auto";
	top.document.body.style.cursor = "auto";
}

function loadRecommneded(rec_start,category,sub_category) {
	var params = "rec_start="+rec_start+"&category="+category+"&sub_category="+sub_category;
	var target = "/includes/load_recommended.php";
	xmlhttpCall(params,target,function(responseText) { WriteByID('recommended_posts',null,responseText); });
}
function loadRecent(rec_start,category,sub_category) {
	var params = "rec_start="+rec_start+"&category="+category+"&sub_category="+sub_category;
	var target = "/includes/load_recent.php";
	xmlhttpCall(params,target,function(responseText) { WriteByID('recent_posts',null,responseText); });
}
