var onload_functions = new Array();
var onunload_functions = new Array();
var onscroll_functions = new Array();
window.onload = function() { for (var i = 0; i <= onload_functions.length-1; i++) eval(onload_functions[i]); }
window.onunload = function() { for (var i = 0; i <= onunload_functions.length-1; i++) eval(onunload_functions[i]); }
window.onscroll = function() { for (var i = 0; i <= onscroll_functions.length-1; i++) eval(onscroll_functions[i]); }
var base = "";
var baseTag = document.getElementsByTagName("base");
if (baseTag.length)  base = baseTag[0].href;

function randomText(len) {
    var available_chars = [];
    for(var i = 48; i < 58; i++) available_chars[available_chars.length] = String.fromCharCode(i);    
    for(var i = 65; i < 91; i++) available_chars[available_chars.length] = String.fromCharCode(i);    
    for(var i = 97; i < 123; i++) available_chars[available_chars.length] = String.fromCharCode(i);    
    if(0==available_chars.length) return false;
    var result="";   
    for(var j=0; j<len; j++) {var ch=available_chars[Math.floor(Math.random()*available_chars.length)]; result+=ch;}
    return result;
}


function cancelBtn(back_link) {
    var back_link_obj = document.getElementById("back_link");
    if (back_link_obj) back_link = back_link_obj.value;
    if (back_link) {
        document.location = back_link;
    } else {
        alert ("Can't find backpage. Please use back link on top of page!");
    }
    return false;
}
function deleteMsg(text) {
    if (!text) text = "Delete?";
    return confirm(text);
}

function setLoadingAnim(obj_id, text, style) {
    var obj = document.getElementById(obj_id);
    if (style) style=" style=\"" + style + "\"";
    if (obj) {
        obj.innerHTML = "<div class=\"loading\"" + style + ">" + text + "</div><div class=\"clear\"></div>";
    }
}

var load_tpl_div_id = "";
function load_tpl(tpl, div_id) {
     //ajax.js must be included
    if (!div_id) div_id = "msg_div_in"
    load_tpl_div_id = div_id;
    var sd = new AJAX(false, true);
    sd.callPage(base + "http/load_tpl.php?tpl=" + tpl, load_tplR);
}
 

function load_tplR(rText) {
    var div = document.getElementById(load_tpl_div_id);
    if (div) div.innerHTML = rText;
}

var inpdef = Array();

function inp_def(input) {
    //default value for input boxs - get focus
    if (!inpdef[input.name]) inpdef[input.name] = input.value;
    if (inpdef[input.name] == input.value) input.value = "";
}

function inp_def_lf(input) {
    //default value for input boxs - lost focus
    if (inpdef[input.name] && !input.value) input.value = inpdef[input.name];
}

function reloadCaptcha(id) {
    var cimg = document.getElementById(id);
    cimg.src = "gfx/loading3b.gif";
    var rnd = randomText(50);
    cimg.src = "captcha.jpg?" + rnd;
    var scimg = document.getElementById(ids);
    if (!scimg) return false;
    scimg.src = "gfx/loading3b.gif";
    return true;
}

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength) {
		this.value = this.value.substr(0,500);
        currentLength = 500;
	 } else {
	    this.relatedElement.className = '';
     }
	this.relatedElement.firstChild.nodeValue = currentLength;
	// not innerHTML
}

function URLEncode(str) { 
    var nstr = escape(str);   
    nstr = nstr.replace(/\+/g, '%2B');   
    nstr = nstr.replace(/\%20/g, '+');   
    nstr = nstr.replace(/\//g, "%2F");
    nstr = nstr.replace(/\?/g, "%3F");
    nstr = nstr.replace(/=/g, "%3D");
    nstr = nstr.replace(/&/g, "%26");
    nstr = nstr.replace(/@/g, "%40");
    return nstr;
}

function html_entity_decode(str) {
        var tarea=document.createElement('textarea');
        tarea.innerHTML = str;
        return tarea.value;
}

function addslashes(str) {
    str=str.replace(/\'/g,'\'');
    str=str.replace(/\"/g,'\"');
    str=str.replace(/\\/g,'\\');
    str=str.replace(/0/g,'0');
    return str;
}
function stripslashes(str) {
    str=str.replace(/\\'/g,'\'');
    str=str.replace(/\\"/g,'"');
    str=str.replace(/\\\\/g,'\\');
    str=str.replace(/\\0/g,'\0');
    return str;
}

function add_fav(id) {
    var sd = new AJAX(true, true);
    sd.callPage(base + "http/favorites.php?action=add&id=" + id, add_favR);
}
function add_favR(rText, rAction, rPage) {
    if (rAction == "ok") {
        var fl = document.getElementById("fl_" + rPage);
        if (fl) {
            fl.innerHTML = "<a href=\"#\" onclick=\"rem_fav(" + rPage + ", false); return false;\">" + delete_from_favourites + "<\/a>";
        }
        setTimeout('get_fav_cnt()', 10);
        setTimeout('alert(advert_added_as_favourite)', 10);
    } else {
        setTimeout('alert(error_adding_as_favourite)', 10);
    }
}
function get_fav_cnt() {
    var sqwd = new AJAX(true, true);
    sqwd.callPage(base + "http/favorites.php?action=get_cnt", get_fav_cntR);
}
function get_fav_cntR(rText, rAction, rPage) {
    if (rAction == "ok") {
        var fl = document.getElementById("fav_link");
        if (fl) {
            fl.innerHTML = rText;
        }
    }
}

function get_spon_cnt() {
    var sqwd = new AJAX(true, true);
    sqwd.callPage(base + "http/sponsored.php?action=get_cnt", get_spon_cntR);
}
function get_spon_cntR(rText, rAction, rPage) {
    if (rAction == "ok") {
        var fl = document.getElementById("spon_link");
        if (fl) {
            fl.innerHTML = rText;
        }
    }
}

function rem_fav(id, is_favorite_page) {
    var sd = new AJAX(true, true);
    sd.callPage(base + "http/favorites.php?action=rem&id=" + id + "&is_favorite_page=" + is_favorite_page, rem_favR);
}
function rem_favR(rText, rAction, rPage) {
    if (rAction == "ok") {
        if (rText == "true") {
            var fl = document.getElementById("a_" + rPage);
            if (fl) {
                var pn = fl.parentNode;
                if (pn) pn.removeChild(fl);
            }            
        } else {
            var fl = document.getElementById("fl_" + rPage);
            if (fl) {
                fl.innerHTML = "<a href=\"#\" onclick=\"add_fav(" + rPage + "); return false;\">" + add_as_favourite + "<\/a>";
            }
        }
        setTimeout('get_fav_cnt()', 10);
        setTimeout('alert(advert_deleted_from_fav)', 10);
    }else {
        setTimeout('alert(error_deleting_from_fav)', 10);
    }
}

function add_spon(id) {
    var sd = new AJAX(true, true);
    sd.callPage(base + "http/sponsored.php?action=add&id=" + id, add_sponR);
}
function add_sponR(rText, rAction, rPage) {
    if (rAction == "ok") {
        var fl = document.getElementById("f0_" + rPage);
        if (fl) {
            fl.innerHTML = "<a href=\"#\" onclick=\"rem_spon(" + rPage + "); return false;\">" + delete_from_sponsored + "<\/a>";
        }
        setTimeout('get_spon_cnt()', 10);		
        setTimeout('alert(advert_added_as_sponsored)', 10);
    } else {
        setTimeout('alert(error_adding_as_sponsored)', 10);
    }
}

function rem_spon(id, is_sponsored_page) {
    var sd = new AJAX(true, true);
    sd.callPage(base + "http/sponsored.php?action=rem&id=" + id + "&is_sponsored_page=" + is_sponsored_page, rem_sponR);
}
function rem_sponR(rText, rAction, rPage) {
    if (rAction == "ok") {
        if (rText == "true") {
            var fl = document.getElementById("a_" + rPage);
            if (fl) {
                var pn = fl.parentNode;
                if (pn) pn.removeChild(fl);
            }            
        } else {		
			var fl = document.getElementById("f0_" + rPage);
			if (fl) {
				fl.innerHTML = "<a href=\"#\" onclick=\"add_spon(" + rPage + "); return false;\">" + add_as_sponsored + "<\/a>";
			}
		}	
        setTimeout('get_spon_cnt()', 10);		
        setTimeout('alert(advert_deleted_from_spon)', 10);
    }else {
        setTimeout('alert(error_deleting_from_spon)', 10);
    }
}

onload_functions.push("setMaxLength()");
