/**
 * TODO: Comment
 */
function popupLegals(articleKey){
  open("/common/viewArticlePopup?articleKey=" + articleKey,"Information","width=300,height=350,scrollbars,resizable").focus();
}   

/**
 * Displays a searchable advert.
 */
function viewAdvertPopup(id){
    open("/common/viewAdvertPopup?id=" + id,"Annons","width=425,height=550,scrollbars,resizable").focus();
}

/**
 * Opens up a new admin window. Used in virtually every JSP when loggeed in as
 * admin. The following java classes enables/depends on this function:
 * com.extras.v4.shared.control.Screen (For translations)
 * com.extras.v4.shared.services.infoService.Article (For info texts)
 */
function openAdminLink(url){
    open(url,"admin").focus();
}

/**
 * Opens a thickbox window containering the entered url
 */
function openThickbox(url) {
    tb_show("",url,"");
}

/**
 * TODO: Comment
 */
function searchWord(inputId) {
    var badWords = new Array("filmcafe","film cafe","stagepool","stage pool","Filmcafe","Film cafe","Stagepool","Stage pool","FILMCAFE","FILM CAFE","STAGEPOOL","STAGE POOL");
    var badWord = "";
    var str = document.getElementById(inputId).value;

    for(x=0;x<badWords.length;x++) {
        if(str.search(badWords[x])>-1) {
            badWord = badWords[x];
            str = str.replace(badWord,"");
            document.getElementById(inputId).value = str;
        }
    }

    return badWord;
}

/**
 * Use this to wright debug text to screen.
 * This method takes 0 or 2 arguments.
 * Arguments are left position and top position.
 * No arguments use default position.
 * Call this method once, preferable in init-method. Then call method pr().
 * 
 * Example:
 * function init() { setDebug(200, 100); }
 * function whatever() { pr("Kalle", "Pelle"); }
 * Result:
 * 0. Kalle
 * 1. Pelle
 */
function setDebug(x, y) {
	var body = document.getElementsByTagName('body')[0];

	if(document.getElementById('helper')) {
        body.removeChild(document.getElementById('helper'));
    }

    var bgColor = "rgb(245, 245, 145)";
    var borderColor = "#bbccbb";
    var fontFamily = "Verdana, Helvetica";
    var fontSize = "10px";
    var opacity = ".9";

    var helper = document.createElement("div");

    var div = document.createElement("div");
    div.style.display = "block";
    var span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "1px";
    span.style.background = borderColor;
    span.style.margin = "0 5px";
    div.appendChild(span);

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "1px";
    span.style.background = bgColor;
    span.style.borderLeft = "1px solid " + borderColor;
    span.style.borderRight = "1px solid " + borderColor;
    span.style.margin = "0 3px";
    span.style.borderWidth = "0 2px";
    div.appendChild(span);

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "1px";
    span.style.background = bgColor;
    span.style.borderLeft = "1px solid " + borderColor;
    span.style.borderRight = "1px solid " + borderColor;
    span.style.margin = "0 2px";
    div.appendChild(span);

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "2px";
    span.style.background = bgColor;
    span.style.borderLeft = "1px solid " + borderColor;
    span.style.borderRight = "1px solid " + borderColor;
    span.style.margin = "0 1px";
    div.appendChild(span);

    helper.appendChild(div);

    var helpcontent = document.createElement("div");
    helpcontent.id = "helpcontent";
    helpcontent.style.background = bgColor;
    helpcontent.style.borderLeft = "1px solid " + borderColor;
    helpcontent.style.borderRight = "1px solid " + borderColor;
    helpcontent.style.padding = "8px 16px 8px 0px";
    helpcontent.style.textAlign = "left";
    helper.appendChild(helpcontent);

    div = document.createElement("div");
    div.style.display = "block";

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "2px";
    span.style.background = bgColor;
    span.style.borderLeft = "1px solid " + borderColor;
    span.style.borderRight = "1px solid " + borderColor;
    span.style.margin = "0 1px";
    div.appendChild(span);

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "1px";
    span.style.background = bgColor;
    span.style.borderLeft = "1px solid " + borderColor;
    span.style.borderRight = "1px solid " + borderColor;
    span.style.margin = "0 2px";
    div.appendChild(span);

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "1px";
    span.style.background = bgColor;
    span.style.borderLeft = "1px solid " + borderColor;
    span.style.borderRight = "1px solid " + borderColor;
    span.style.margin = "0 3px";
    span.style.borderWidth = "0 2px";
    div.appendChild(span);

    span = document.createElement("span");
    span.style.display = "block";
    span.style.overflow = "hidden";
    span.style.height = "1px";
    span.style.background = borderColor;
    span.style.margin = "0 5px";
    div.appendChild(span);

    helper.appendChild(div);

	helper.id = "helper";
	helper.setAttribute("onmouseup", "setDebugPosition(this)");
	helper.style.visibility = "hidden";
	helper.style.fontFamily = fontFamily;
	helper.style.fontSize = fontSize;
	helper.style.opacity = opacity;
	helper.setAttribute("contenteditable", true);

	helper.style.position = "absolute";
//	helper.style.width = "500px";
    helper.style.zIndex = "5";

    var cookiePosition = readCookie("jsDebugPosition");

	if(arguments.length > 0) {
		helper.style.left = x + "px";
		helper.style.top = y + "px";
	}
	else if(cookiePosition!=null) {
	    var split = cookiePosition.split(",");
	    helper.style.left = split[0];
		helper.style.top = split[1];
	}
	else {
	    helper.style.marginLeft = "-250px";
		helper.style.top = "40px";
		helper.style.left = "50%";
	}

	body.appendChild(helper);
}

function createCookie(name,value,days) {
    var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	}

	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function setDebugPosition(obj) {
    var value = obj.style.left + "," + obj.style.top;
    createCookie("jsDebugPosition", value, 0);
    //pr("Set position: " + obj.style.left + ", " + obj.style.top);
}

function pr() {
    var helper = document.getElementById('helper');
    helper.style.visibility = "visible";

    var result = "<ol>";
    for(var i = 0; i < arguments.length; i++) {
        result += "<li>" + arguments[i] + "</li>";
    }
    result += "</ol>";
    document.getElementById('helpcontent').innerHTML = result;
}