if(document.getElementById&&!document.all){ns6=1;}else{ns6=0;}
var agtbrw=navigator.userAgent.toLowerCase();
var operaaa=(agtbrw.indexOf('opera')!=-1);
var folder='';

function expandit(curobj, hide) {
	if(document.getElementById(curobj)) {
  		folder=document.getElementById(curobj).style;
	} else {
		if(ns6==1||operaaa==true) {
			folder=curobj.nextSibling.nextSibling.style;
		} else {
			folder=document.all[curobj.sourceIndex+1].style;
		}
   }
	if(folder.display=="none")
	{
		folder.display="";
	} else {
		folder.display="none";
	}
	if(hide) {
		var hide_objects = hide.split(",");
		for(i=0; i<hide_objects.length; i++) {
			hide_objects[i]=hide_objects[i].replace(/^\s*(.*)/, "$1");
			hide_objects[i]=hide_objects[i].replace(/(.*?)\s*$/, "$1");
			if(document.getElementById(hide_objects[i])) {
				hidden=document.getElementById(hide_objects[i]).style;
				if(hidden.display=="") {
					hidden.display="none";
				}
			}
		}
	}
}


function urljump(url){
	top.window.location = url;
}


function urljump_byApply(url,text) 
{ 
    if (confirm(text)) 
    { 
        top.window.location = url; 
    } 
} 

function ord(string){
	return (string+'').charCodeAt(0);
}

function chr( ascii ) {
    return String.fromCharCode(ascii);
}

function rtrim (str,charlist){
    charlist = !charlist ? ' \s\xA0' : (charlist+'').replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    var re = new RegExp('[' + charlist + ']+$', 'g');
    return (str+'').replace(re, '');
}

function rand(min,max){
	var argc = arguments.length;
	if (argc == 0) {
		min = 0;
		max = 2147483647;
	} else if (argc == 1) {
		throw new Error('Warning: rand() expects exactly 2 parameters, 1 given');
	}
	return Math.floor(Math.random() * (max - min + 1)) + min;
}

function encrypt(str){
	var len = str.length;
	if(len <= 1) return str;
	var start = rand(1,16);
	var inc = rand(1,64);
	var i = 0;
	var k = start;
	var res = '';
	for(i = 0;i<len;i++){
		res += k*ord(str[i])+'-';
		k += inc;
	}
	res = rtrim(res,'-');
	res = 's'+start+'pi'+inc+'pk'+res;
	return res;
}

function decrypt(str){
	var len = str.length;
	if(len <= 1) return str;
	var tmp = str.split('p');
	var start = tmp[0];
	var inc = tmp[1];
	var key = tmp[2];
	
	start = start.replace('s','');
	start = parseInt(start);
	inc = inc.replace('i','');
	inc = parseInt(inc);
	key = key.replace('k','');
	
	var arr = key.split('-');
	var len = arr.length;
	var i = 0;
	var k = start;
	
	var res = '';
	
	for(i = 0; i < len; i++){
		var t = parseInt(arr[i]) / k;
		k += inc;
		res += chr(t);
	}
	
	return res;
}

function isNum(str){
	var len = str.length;
	var nums = '-0123456789';
	var i = 0;
	var res = true;
	for(i = 0; i < len; i++){
		var tmp = str[i];
		if(nums.indexOf(tmp) == -1){
			res = false;
		}
	}
	return res;
}

function isAlph(str){
	var len = str.length;
	var alphs = 'qwertyuiopgüasdfghjklsizxcvbnmöçQWERTYUIOPGÜASDFGHJKLSIZXCVBNMÖÇ&+-_,;.:@€æß/\\*';
	var i = 0;
	var res = true;
	for(i = 0; i < len; i++){
		var tmp = str[i];
		if(alphs.indexOf(tmp) == -1){
			res = false;
		}
	}
	return res;
}

function checkForm(){
	/*
	 * arg %1 - form element id, should start with %s% if its is select box
	 * arg %2 - control type
	 *			notnull: cannot be null
	 *			gt:	greater than arg 3
	 *			get: greater than or equal arg 3
	 *			lt: less than arg 3
	 *			let: less than or equal arg 3
	 *			eq:	equal to arg 3
	 *			neq: not equal to arg 3
	 *			num: must be numeric, not alphabetic
	 *			alph: must be alphabetic, not numeric
	 *			lgt: length greater than arg 3
	 *			lget: length greater than or equal to arg 3
	 *			llt: length less than arg 3
	 *			llet: length less than or equal to arg 3
	 *			leq: length equal to arg 3
	 *			lneq: length not equal to arg 3
	 * arg %3 - Optional control element id, or value or empty string, 
	 *			if it is a raw value should start with %v%
	 *			elements should start with %e%
	 *			select box %s%
	 * arg %4 - Error Message
	 */
	
	var error = '';
	var prob = false;
	
	var alen = arguments.length;
	//alert('total: '+alen);
	var i = 0;
	for(i = 0; i < alen; i++){
		var elem = arguments[i];
		i++;
		var type = arguments[i];
		i++;
		var cont = arguments[i];
		i++;
		var msg = arguments[i];
		
		var el;
		if(elem.indexOf('%s%') >= 0){
			elem = elem.replace('%s%','');
			el = document.getElementById(elem);
			el = el.options[el.selectedIndex].value;
		}else{
			el = document.getElementById(elem).value;
		}
		
		var val;
		if(cont.indexOf('%v%') >= 0){
			val = cont.replace('%v%','');
		}else if(cont.indexOf('%e%') >= 0){
			val = document.getElementById(cont.replace('%e%','')).value;
		}else if(cont.indexOf('%s%') >= 0){
			cont = cont.replace('%s%','');
			cont = document.getElementById(cont);
			val = cont.options[cont.selectedIndex].value;
		}
		
		switch(type){
			case 'gt':
				if(el <= val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'get':
				if(el < val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'lt':
				if(el >= val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'let':
				if(el > val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'eq':
				if(el != val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'neq':
				if(el == val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'num':
				if(isNum(el) == false){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'alph':
				if(isAlph(el) == false){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'lgt':
				if(el.length <= val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'lget':
				if(el.length < val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'llt':
				if(el.length >= val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'llet':
				if(el.length > val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'leq':
				if(el.length != val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			case 'lneq':
				if(el.length == val){
					prob = true;
					error = error + msg+'\n';
				}
				break;
			default:
		} //End of switch
		//alert(elem+':'+el+' '+type+' '+cont+':'+val+' '+error);
	} //End of for loop
	
	if(prob){
		alert(error);
		return false;
	}
	return true;
}

function disableElems(){
	var len = arguments.length;
	var i = 0;
	for(i = 0; i < len; i++){
		var tmp = document.getElementById(arguments[i]);
		tmp.className = tmp.className + '_disabled';
		tmp.disabled = true;
	}
}

function enableElems(){
	var len = arguments.length;
	var i = 0;
	for(i = 0; i < len; i++){
		var tmp = document.getElementById(arguments[i]);
		tmp.className = tmp.className.replace('_disabled','');
		tmp.disabled = false;
	}
}

function arrangeSelection(elem,base){
	var id = elem.options[elem.selectedIndex].value;
	
	if(id == base){
		var newIndex = elem.selectedIndex + 1;
		
		if(newIndex >= elem.length){
			newIndex = 0;
		}
		elem.selectedIndex = newIndex;
		
		arrangeSelection(elem,base);
	}
}

function toggleVideoUpload(elem,file,file_div,embed,embed_div){
	var sel = elem.options[elem.selectedIndex].value;
	
	if(sel == 'video'){
		document.getElementById(embed_div).style.display = '';
		document.getElementById(embed).disabled = false;
		document.getElementById(file_div).style.display = 'none';
		document.getElementById(file).disabled = true;
	}else{
		document.getElementById(embed_div).style.display = 'none';
		document.getElementById(embed).disabled = true;
		document.getElementById(file_div).style.display = '';
		document.getElementById(file).disabled = false;
	}
	Scroller.updateAll();
}

function listDetailedStats(dayId,monthId,yearId){
	var dayS = document.getElementById(dayId);
	var monthS = document.getElementById(monthId);
	var yearS = document.getElementById(yearId);
	
	var day = dayS.options[dayS.selectedIndex].value;
	var month = monthS.options[monthS.selectedIndex].value;
	var year = yearS.options[yearS.selectedIndex].value;
	
	urljump('cp.php?mode='+encrypt('stats')+'&d='+day+'&m='+month+'&y='+year);
}