var oBaseURI = window.location.protocol + "//" + window.location.host + "/";

var loadingSmall = new Image();
loadingSmall.src = "/theme/loading_small.gif";
var loadingLarge = new Image();
loadingLarge.src = "/theme/loading_large.gif";

var loading = "<img src=\"/theme/loading_small.gif\" alt=\"Loading\" width=\"16px\" height=\"16px\" /> Loading...";

var xmlHttp;

function GetXmlHttpObject(){
	try{
		xmlHttp=new XMLHttpRequest();
	}
	catch (e){
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function updateRating(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		document.getElementById("rating").innerHTML = xmlHttp.responseText;
	}
}

function updateFavorites(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		document.getElementById("favorite").innerHTML = xmlHttp.responseText;
	}
}

function finishSwitch(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		document.getElementById("video_details").innerHTML = xmlHttp.responseText;
	}
}

function updatePhotoRating(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		var response = xmlHttp.responseText.split("<delimiter/>");
		if (response.length == 2){
			document.getElementById("unit_div_" + response[0]).innerHTML = response[1];
		}
	}
}

function updateWidget(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		var response = xmlHttp.responseText.split("<delimiter/>");
		if (response.length == 2){
			document.getElementById("widget_preview").innerHTML = response[0];
			document.getElementById("get_code").innerHTML = response[1];
		}
	}
}

function updateRegions(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		var oNewRegions = document.createElement("span");
		oNewRegions.id = "regions";
		if (xmlHttp.responseText){
			var oNewSelect = document.createElement("select");
			oNewSelect.name = "state";
			if (document.all && !window.opera){
				var oOptionsList = xmlHttp.responseText.replace(/<\/option>$/i, "").split("<\/option>");
				if (oOptionsList){
					var oNewOption, oOptionValue, oOptionHTML;
					for (var i = 0; i < oOptionsList.length; i++){
						try{
							oOptionValue = oOptionsList[i].match(/value="[0-9]+"/i)[0].replace(/[^0-9]+/g, "");
							oOptionHTML = oOptionsList[i].replace(/<option[^>]*?>/ig, "");
						}
						catch (e){
							continue;
						}
						oNewOption = document.createElement("option");
						oNewOption.value = oOptionValue;
						oNewOption.innerHTML = oOptionHTML;
						oNewSelect.appendChild(oNewOption);
					}
				}
			}
			else{
				oNewSelect.innerHTML = xmlHttp.responseText;
			}
			oNewRegions.appendChild(oNewSelect);
		}
		else{
			var oNewInput = document.createElement("input");
			oNewInput.type = "text";
			oNewInput.name = "state";
			oNewInput.size = 17;
			oNewInput.maxlength = 100;
			oNewRegions.appendChild(oNewInput);
		}
		var oElement = document.getElementById("regions");
		var oParent = oElement.parentNode;
		oParent.replaceChild(oNewRegions, oElement);
	}
}

function showEdit(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
		var response = xmlHttp.responseText.split("<delimiter/>");
		if (response.length == 2){
			document.getElementById(response[0]).innerHTML = response[1];
		}
	}
}

function rate(vid){
	document.getElementById("rating").innerHTML = loading;
	var url = oBaseURI + "ajax/rate.php?id=" + vid;
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = updateRating;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function favorite(vid){
	document.getElementById("favorite").innerHTML = loading;
	var url = oBaseURI + "ajax/favorite.php?id=" + vid;
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = updateFavorites;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function onNextVideo(vid, start){
	document.getElementById("video_details").innerHTML = "<p id=\"loading_main\">\n<img src=\"/theme/loading_large.gif\" alt=\"Loading\" width=\"100px\" height=\"100px\" />\n</p>\n";
	var url = oBaseURI + "ajax/switch.php?id=" + vid;
	if (start){
		url += "&start=" + start;
	}
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = finishSwitch;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function ratePhoto(photo, stars){
	document.getElementById("unit_div_" + photo).innerHTML = loading;
	var url = oBaseURI + "ajax/rate_photo.php?photo=" + photo + "&stars=" + stars;
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = updatePhotoRating;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function widgetSubmit(){
	var oContainer = document.getElementById("widget_preview");
	var widgetTitle = document.getElementById("widget_title").value;
	var layoutSelect = document.getElementById("widget_layout");
	var widgetLayout = layoutSelect.options[layoutSelect.selectedIndex].value;
	var url = oBaseURI + "ajax/widget.php?widgetTitle=" + widgetTitle + "&widgetLayout=" + widgetLayout;
	var oWidth = 200;
	var oHeight = 325;
	switch (widgetLayout){
		case "1x4":
			oHeight = 500;
			break;
		case "gallery":
			oWidth = 410;
			break;
		default:
			break;
	}
	oContainer.style.width = oWidth;
	oContainer.style.height = oHeight;
	oContainer.innerHTML = "<img src=\"/theme/loading_large.gif\" alt=\"Loading\" width=\"100px\" height=\"100px\" />\n";
	document.getElementById("get_code").innerHTML = "Loading, please wait...";
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = updateWidget;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function getRegions(){
	document.getElementById("regions").innerHTML = loading;
	var countries = document.getElementById("country");
	var country = countries.options[countries.selectedIndex].value;
	var url = oBaseURI + "ajax/regions.php?country=" + country;
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = updateRegions;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function contactForm(which){
	document.getElementById("contact_main").style.display = "none";
	document.getElementById(which).style.display = "block";
}

function insertTab(o, e){
		/****	http://pallieter.org/Projects/insertTab/	****/
	var kC = e.keyCode ? e.keyCode : e.charCode ? e.charCode : e.which;
	if (kC == 9 && !e.shiftKey && !e.ctrlKey && !e.altKey){
		var oS = o.scrollTop;
		if (o.setSelectionRange){
			var sS = o.selectionStart;
			var sE = o.selectionEnd;
			o.value = o.value.substring(0, sS) + "\t" + o.value.substr(sE);
			o.setSelectionRange(sS + 1, sS + 1);
			o.focus();
		}
		else if (o.createTextRange){
			document.selection.createRange().text = "\t";
			e.returnValue = false;
		}
		o.scrollTop = oS;
		if (e.preventDefault){
			e.preventDefault();
		}
		return false;
	}
	return true;
}

function editSidebars(el){
	var back = escape(document.location.href);
	var url = oBaseURI + "ajax/sidebars.php?element=" + el + "&back=" + back;
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = showEdit;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function showActivityControls(el){
	document.getElementById("latestActivityControls").style.display = "block";
	el.parentNode.removeChild(el);
}

function showChatterboxControls(el){
	document.getElementById("chatterboxControls").style.display = "block";
	el.parentNode.removeChild(el);
}

function showMainpageBlogControls(el){
	document.getElementById("mainpageBlogControls").style.display = "block";
	el.parentNode.removeChild(el);
}

function hover(el, active){
	if (document.all && !window.opera){
		el.className = active ? "hover" : "";
	}
	else{
		return true;
	}
}

function initFCKtextarea(fieldname){
	var oFCKeditor = new FCKeditor(fieldname);
	oFCKeditor.BasePath = "/fckeditor/";
	if (typeof arguments[1] != "undefined"){
		oFCKeditor.Width = arguments[1];
	}
	if (typeof arguments[2] != "undefined"){
		oFCKeditor.Height = arguments[2];
	}
	oFCKeditor.ReplaceTextarea();
}

function convertCurrency(oPrice, oCurrency, oSelect){
	var oValue = oSelect.options[oSelect.selectedIndex].value;
	var url = "http://www.google.com/search?q=" + escape(oPrice + " " + oCurrency + " in " + oValue);
	var output = window.open(url,"popDialog","height=320,width=700,toolbar=no,resizable=yes,scrollbars=yes,left=10,top=100");
}

function preloadSlideShowBanners(srcList){
	var oImages = new Array();
	for (var i = 0; i < srcList.length; i++){
		oImages[i] = new Image();
		oImages[i].src = srcList[i];
	}
}

function bannersSlideShow(el, hrefList, srcList, oCounter){
	try{
		var oEl = document.getElementById(el);
		if (oEl){
			oEl.href = "javascript:void(0);";
			oEl.getElementsByTagName("img")[0].src = srcList[oCounter];
			oEl.href = hrefList[oCounter];
			oCounter = oCounter < srcList.length - 1 ? oCounter + 1 : 0;
		}
	}
	catch (e){}
	window.setTimeout(function (){ bannersSlideShow(el, hrefList, srcList, oCounter); }, 3000);
}

function initSellingMiniBannersSlide(){
	var hrefList = new Array("store_pricing.php", "sell.php");
	var srcList = new Array("images/gateway.png", "images/CallToActionButton.png");
	preloadSlideShowBanners(srcList);
	window.setTimeout(function (){ bannersSlideShow("sellingBannersSlideShow", hrefList, srcList, 1); }, 3000);
}

function initMarketsMiniBannersSlide(){
	var hrefList = new Array("indiepublic_community.php", "handmade_community.php", "divapreneur_community.php", "thefairysociety_community.php", "ooak_peewees.php");
	var srcList = new Array("images/indiepublic_mini_banner.jpg", "images/ccshops_mini_banner.jpg", "images/divapreneur_mini_banner.jpg", "images/thefairysociety_mini_banner.jpg", "images/op_mini_banner.jpg");
	preloadSlideShowBanners(srcList);
	window.setTimeout(function (){ bannersSlideShow("marketBannersSlideShow", hrefList, srcList, 1); }, 3000);
}

initSellingMiniBannersSlide();
initMarketsMiniBannersSlide();