
//var ROOT = "/";
//var debuggingEnabled = true;
var debuggingEnabled = false;

var HS = 0;
var VS = 0;
window.onscroll = function updateScroll(){

	if (window.innerWidth) {
		// All browsers but Internet Explorer
		HS = window.pageXOffset; VS = window.pageYOffset;
		}
		else if(document.documentElement && document.documentElement.clientWidth){
		// These are for Internet Explorer 6 when a DOCTYPE is defined
		HS = document.documentElement.scrollLeft;
		VS = document.documentElement.scrollTop; }
		else if (document.body.clientWidth) {
		// These are for Internet Explorer 5/6 without a DOCTYPE
		HS = document.body.scrollLeft; VS = document.body.scrollTop;
	}

}



document.getElementsByClassName = function(cl){

	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}

	return retnode;

};



function toggle(divid){

	var me = document.getElementById(divid);
	//me.style.display = me.style.display == "inline" ? "none" : "inline";
	me.style.display = me.style.display == "block" ? "none" : "block";

}



// Links that are to be confirmed before letting through
function getHazards(){

	var hazards = document.getElementsByClassName("hazard");
	for(var i=0;i<hazards.length;i++){
		hazards[i].onclick = function(){
			var sure = confirm("Oletko aivan varma?");
			if(sure){
				return true;
			}
			return false;
		}
	}

}
getHazards();


// Get inputs who's default values need to be emptied on focus
function getEmptymes()
{
	var emptyPuts = document.getElementsByClassName("emptyme");
	for(var i in emptyPuts)
	{
		var me = emptyPuts[i];
		me.setAttribute("origValue", me.value);
		me.onfocus = function()
		{
			var myOrig = this.getAttribute("origValue");
			if(this.value == myOrig) this.value = "";
		}
		me.onblur = function()
		{
			var myOrig = this.getAttribute("origValue");
			if(this.value == "") this.value = myOrig;
		}
	}
}
getEmptymes();



// Mandatory input fields
function getMandatories()
{
	var all_forms = document.getElementsByTagName("form");
	var mandClass = new RegExp('\\bmandatory\\b');
	for(var x in all_forms)
	{
		all_forms[x].onsubmit = function()
		{
			var my_form = this;
			var loop_us = my_form.elements;
			for(var i in loop_us)
			{
				if(loop_us[i].className)
				{
					if(mandClass.test(loop_us[i].className) && (loop_us[i].value == "" || loop_us[i].value == loop_us[i].getAttribute("origValue")) )
					{
						loop_us[i].focus();
						alert("Jätit yhden tai useamman pakollisen kentän tyhjäksi.\n\nOle hyvä ja tarkista tietosi.");
						return false;
					}
				}
			}
		}
	}
}
getMandatories();



function getFocusee()
{
	if(!document.getElementById("focusHere")) return;
	document.getElementById("focusHere").focus();
}
getFocusee();


var curFadeOpa = 1;




function centerDivHorizontally(divId){

	var me = document.getElementById(divId);
	var myLeft = Math.round(((document.body.offsetWidth / 2) - (me.offsetWidth / 2))) + "px";
	me.style.left = myLeft;

}
function centerDivVertically(divId){

	var me = document.getElementById(divId);
	var myTop = ((document.body.offsetHeight / 2) - (me.offsetHeight / 2)) + "px";
	me.style.top = myTop;

}



var fadeInPace = 25;
var fadeInSteps = .15;
function fadeDivIn(divId, finalOpacity){

	if(!document.getElementById(divId)) return;

	if(!finalOpacity) finalOpacity = 1;

	var theDiv = document.getElementById(divId);

	if(!theDiv.getAttribute("myOpa")) theDiv.setAttribute("myOpa", 0);
	var myOpacity = parseFloat(theDiv.getAttribute("myOpa"));

	//trace("myOpacity: " + myOpacity);

	if(myOpacity < finalOpacity){

		myOpacity = myOpacity + fadeInSteps;

		theDiv.style.opacity = myOpacity;
		//theDiv.style.filter = "alpha(opacity=" + myOpacity + ")";

		theDiv.setAttribute("myOpa", myOpacity);

		setTimeout("fadeDivIn('" + divId + "', " + finalOpacity + ")", fadeInPace);

	}
	else{

		theDiv.setAttribute("myOpa", finalOpacity);
		//theDiv.style.filter = "alpha(opacity=" + finalOpacity + ")";
		theDiv.style.opacity = finalOpacity;

	}

}



function fadeDivOut(divId){

	var theDiv = document.getElementById(divId);
	if(curFadeOpa > 0){
		curFadeOpa -= .03;
		theDiv.style.opacity = curFadeOpa;
		setTimeout("fadeDivOut('" + divId + "')", 40);
	}
	else{
		curFadeOpa = 1;
		theDiv.style.opacity = 0;
		theDiv.style.display = "none";
	}

}



function getWindowHeight(){

	var minHeight = 800;
	var mh = document.getElementsByTagName("body")[0].offsetHeight;
	return mh > minHeight ? document.getElementsByTagName("body")[0].offsetHeight : minHeight;

}



var req;
var which;
function ajaxGET(url) {
if (window.XMLHttpRequest) { // Non-IE browsers
  req = new XMLHttpRequest();
  req.onreadystatechange = processStateChange;
  try {
	req.open("GET", url, true);
  } catch (e) {
	alert(e);
  }
  req.send(null);
} else if (window.ActiveXObject) { // IE
  req = new ActiveXObject("Microsoft.XMLHTTP");
  if (req) {
	req.onreadystatechange = processStateChange;
	req.open("GET", url, true);
	req.send();
  }
}
}
function processStateChange() {
if (req.readyState == 4) { // Complete
  if (req.status == 200) { // OK response
	eval(req.responseText);
  } else {
	//alert("Problem: " + req.statusText);
  }
}
}



function ajaxThis(action, params){

	ajaxGET(ROOT + "code/ajax/hub.php?action=" + action + "&" + params);

}



// Get blank links
var blanks = document.getElementsByClassName("blank");
for(var i in blanks){

	blanks[i].setAttribute("target", "_blank");

}



function trace(d){

	if(!debuggingEnabled) return;

	if(!document.getElementById("brideJavascriptDebugDiv")){

		var dw = document.createElement("div");

		dw.id = "brideJavascriptDebugDiv";

		dw.style.position 	= "absolute";
		dw.style.top 		= "50px";
		dw.style.left 		= "50px";
		dw.style.width 		= "350px";
		dw.style.padding	= "10px";
		dw.style.background = "black";
		dw.style.color 		= "#fff";
		dw.style.cursor		= "pointer";
		dw.style.zIndex		= "999999999999999999999999999999999999999999999999999999999999999999999999999";

		dw.onclick = function(){

			document.getElementById("brideJavascriptDebugDiv").style.display = "none";

		}

		document.body.appendChild(dw);

		dw.innerHTML = "TRACE WINDOW<br/><br/>";

	}

	var debugWin = document.getElementById("brideJavascriptDebugDiv");
	debugWin.innerHTML += d + "<br/>";

}




function getDimmer(){

	var d = document.createElement("div");
	d.id = "dimmer";
	d.style.height = getWindowHeight() + "px";
	document.body.appendChild(d);
	d.onclick = function(){
		removeModal();
	}

}



function removeDimmer(){

	if(!document.getElementById("dimmer")) return;
	document.body.removeChild(document.getElementById("dimmer"));

}



function getModal(pic, product){

	var modal = document.createElement("div");
	modal.id = "modalWindow";
	modal.innerHTML += "<img src='" + ROOT + "assets/img/close.gif' alt='' id='closeButton' onclick='removeModal(); return false;' />";
	modal.innerHTML += "<img src='" + pic + "' alt='' />";
	if(product != "") modal.innerHTML += "<p class='modalTitle'>" + product + "</p>";

	document.body.appendChild(modal);
	modal.style.top = (VS + 30) + "px";
	centerDivHorizontally("modalWindow");

	fadeDivIn("modalWindow");

}



function removeModal(){

	if(!document.getElementById("modalWindow")) return;
	document.body.removeChild(document.getElementById("modalWindow"));
	removeDimmer();

}
// __________________________________________________________
// B.R.I.D.E native functions end

// Cufon
/*
if(document.getElementById("subnav")) var myriads = document.getElementById("subnav").getElementsByTagName("a");
else var myriads = "";

var miscMyriads = document.getElementsByClassName("myriad");

var cufons 		= document.getElementsByClassName("cufon");
var mainNavs 	= document.getElementById("nav").getElementsByTagName("a");

Cufon.replace('h1', 		{ fontFamily: 'clarendon' });
Cufon.replace('h2', 		{ fontFamily: 'clarendon' });
Cufon.replace(cufons, 		{ fontFamily: 'clarendon' });
Cufon.replace(mainNavs, 	{ fontFamily: 'clarendon' });
Cufon.replace(myriads, 		{ fontFamily: 'myriad_pro_bold_condensed' });
Cufon.replace(miscMyriads,	{ fontFamily: 'myriad_pro_bold_condensed' });

Cufon.now();
*/
// "Dinaarien kerääjät"
var currentPageAjaxListingDinaarit = 1;
function refreshAjaxListingDinaarit(){

	ajaxThis("footerDinaariListing", "page=" + currentPageAjaxListingDinaarit);

}

if(document.getElementById("ajaxListing_dinaarit")){

	refreshAjaxListingDinaarit();
}

function initAjaxListingDinaaritPagination(){

	if(document.getElementById("ajaxListing_dinaarit_prev")){

		var prevButton = document.getElementById("ajaxListing_dinaarit_prev");
		prevButton.onclick = function(){

			currentPageAjaxListingDinaarit --;
			refreshAjaxListingDinaarit();
			return false;

		}

	}

	if(document.getElementById("ajaxListing_dinaarit_next")){

		var nextButton = document.getElementById("ajaxListing_dinaarit_next");
		nextButton.onclick = function(){

			currentPageAjaxListingDinaarit ++;
			refreshAjaxListingDinaarit();
			return false;

		}

	}

}




// "Tykätyimmät saumahakemukset"
var currentPageAjaxListingTopliked = 1;
function refreshAjaxListingTopliked(){

	ajaxThis("footerTopLikedListing", "page=" + currentPageAjaxListingTopliked);

}



function initAjaxListingToplikedPagination(){

	if(document.getElementById("ajaxListing_topLiked_prev")){

		var prevButton = document.getElementById("ajaxListing_topLiked_prev");
		prevButton.onclick = function(){

			currentPageAjaxListingTopliked --;
			refreshAjaxListingTopliked();
			return false;

		}

	}

	if(document.getElementById("ajaxListing_topLiked_next")){

		var nextButton = document.getElementById("ajaxListing_topLiked_next");
		nextButton.onclick = function(){

			currentPageAjaxListingTopliked ++;
			refreshAjaxListingTopliked();
			return false;

		}

	}

}



function digThis(hakemusId, divId){

	ajaxThis("dig", "hakemus_id=" + hakemusId + "&divId=" + divId);

}



function reportAbusiveComment(commentId){

	ajaxThis("reportAbuse", "commentId=" + commentId);

}
function reportAbusiveHakemus(hakemusId){

	ajaxThis("reportAbuse", "hakemusId=" + hakemusId);

}


/**
 * Get comments for a page?
 */

if(typeof(getCommentsForPage) != 'undefined'){

	if( ! commentPageNumber){
		var commentPageNumber = 1;
	}

	setTimeout('refreshCommentsForPage("' + getCommentsForPage + '");', 1000);
}



function refreshCommentsForPage(data){

	var commentVarBits = data.split('|');
	var list_type = commentVarBits[0];
	var target_id = commentVarBits[1];

	document.getElementById('commentListDiv').className = 'halfOpa';
	ajaxThis('commentList', 'type=' + list_type + '&target_id=' + target_id + '&page=' + commentPageNumber);

}



function paginateComments(num){

	if(num > 0) commentPageNumber ++;
	else commentPageNumber --;

	refreshCommentsForPage(getCommentsForPage);

}



// Facebook
if(document.getElementById("facebookShare")){

	document.getElementById("facebookShare").onclick = function(){

		doFacebook();
		return false;

	}

}
function doFacebook(){

	var u = "http://www.jaffa.fi";
	var t = "Hartwall Jaffa"
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
	//pageTracker._trackPageview("/share-on-facebook");

}