var ns4=document.layers;
var ns6=document.getElementById && !document.all;
var ie4=document.all;
var opr=navigator.userAgent.indexOf("Opera");

/**** Admin ****/

function submitbutton(task, admin_id) {
	document.admin_form.task.value=task;
	if(admin_id>0) { document.admin_form.admin_id.value=admin_id; }
	try { document.admin_form.onsubmit(); }
	catch(e) {}
	document.admin_form.submit();
}


function toggleCheck(checkbox) {
	checkelement = document.getElementById(checkbox);
	if(checkelement.checked) {
		checkelement.checked = false;
		document.admin_form.boxchecked.value--;
	}
	else {
		checkelement.checked = true;
		document.admin_form.boxchecked.value++;
	}
}

function toggleImage(myImage, image1, image2) {
	if(myImage.src==image1)
		myImage.src=image2;
	else
		myImage.src=image1;

}

function rowHoverState(element) {
	element.className = 'admin_list_tr_hover';
}

function rowDefaultState(element, num) {
	if(num==1) {
		element.className = 'admin_list_tr_row_1';
	}
	else {
		element.className = 'admin_list_tr_row_2';
	}
}

function isChecked(ischecked) {
	if (ischecked == true){
		document.admin_form.boxchecked.value++;
	}
	else {
		document.admin_form.boxchecked.value--;
	}
}

function setCheckboxesRange(do_check, numItems) {
	var i = 1;
	var countRows = 0;
	while(countRows < numItems) {
		if(document.admin_form.elements[i].name.substring(0,8)=='checkbox') {
			document.admin_form.elements[i].checked = do_check;
			countRows++;
		}
		i++;
	}
	if (do_check) {
		document.admin_form.boxchecked.value = numItems;
	}
	else {
		document.admin_form.boxchecked.value = 0;
	}
	return true;
}

function setDateValue(field_name, type, value) {
	field_element = document.getElementById(field_name);
	switch(type) {
		case 'day':
			field_element.value = field_element.value.substring(0,6)+value+field_element.value.substring(8);
		break;    
		case 'month':
			field_element.value = field_element.value.substring(0,4)+value+field_element.value.substring(6);
		break;
		case 'year':
			field_element.value = value+field_element.value.substring(4);
		break;
		case 'hour':
			field_element.value = field_element.value.substring(0,8)+value+field_element.value.substring(10);
		break;
		case 'minute':
			field_element.value = field_element.value.substring(0,10)+value;
		break;
		default:

	}
}

/**** Restrict input in textarea ****/

function restrictinput(maxlength,e,placeholder) {
	if (window.event&&event.srcElement.value.length>=maxlength)
		return false
	else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
		var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
		if (pressedkey.test(String.fromCharCode(e.which)))
			e.stopPropagation()
	}
}

function countlimit(maxlength,e,placeholder) {
	var theform=eval(placeholder)
	var lengthleft=maxlength-theform.value.length
	var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
	if (window.event||e.target&&e.target==eval(placeholder)) {
		if (lengthleft<0)
			theform.value=theform.value.substring(0,maxlength)
		placeholderobj.innerHTML=lengthleft
	}
}


function displaylimit(thename, theid, thelimit) {
	var theform=theid!=""? document.getElementById(theid) : thename
	var limit_text='<span id="'+theform.toString()+'">'+thelimit+'</span>'
	var ns6=document.getElementById&&!document.all
	if (document.all||ns6)
		document.write(limit_text)
	if (document.all) {
		eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
		eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
	}
	else if (ns6) {
		document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
		document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
	}
}

/**** Image insert in admin ****/

function getGeneratedImage(picture_id, domain_root) {
	var width = $(picture_id+'_size').value;
	var url = "http://"+domain_root+"/rsc/standalone.php?action=admin_generate_picture&picture_id="+picture_id+"&width="+width;
	var send = new Ajax(url, {
		method: 'get',
		update: $('rte_filename'),
		onComplete: function(){ insertGeneratedImage(picture_id); }
	}).request();

	$(picture_id+'_button').disabled=true;
}

function insertGeneratedImage(picture_id) {
	var data=$('rte_filename').innerHTML;
	tinyMCE.execCommand('mceInsertContent',false,'<img src="'+data+'" />');
	$(picture_id+'_button').disabled=false;
}

function insertForm(form_name, form_id) {
	tinyMCE.execCommand('mceInsertContent',false,'<div class="shema_holder" id="schema'+form_id+'">Skjema: '+form_name+'<!--FORMID'+form_id+'--></div>');
}

function insertPagebreak(caption) {
	tinyMCE.execCommand('mceInsertContent',false,'<div class="rte_insertbox">PAGEBREAK</div>');
}

/**** Clear default value in input text ****/

function cleardefault_add_event(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

cleardefault_add_event(window, 'load', cleardefault_init, false);

function cleardefault_jscss(a,o,c1,c2) {
	switch (a){
		case 'swap':
		  o.className=!cleardefault_jscss('check',o,c1)?o.className.replace(c2,c1): false;
		  o.className.replace(c1,c2);
		break;
		case 'add':
		  if(!cleardefault_jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
		break;
		case 'remove':
		  var rep=o.className.match(' '+c1)?' '+c1:c1;
		  o.className=o.className.replace(rep,'');
		break;
		case 'check':
		  return new RegExp('\\b'+c1+'\\b').test(o.className)
		break;
	}
}

function cleardefault_init() {
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];

        if ((theInput.type == 'text' || theInput.type == 'password' || theInput.type == 'search') && theInput.className.match(/\bcleardefault\b/)) {
            /* Add event handlers */
            cleardefault_add_event(theInput, 'focus', clearDefaultText, false);
            cleardefault_add_event(theInput, 'blur', replaceDefaultText, false);

            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;

    if (target.value == target.defaultText) {
        target.value = '';
        cleardefault_jscss('remove', target, 'cleardefault_state', '');
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;

    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
        cleardefault_jscss('add', target, 'cleardefault_state', '');
    }
}

function expandcollapse (postid) {
	whichpost = document.getElementById(postid);
	if (whichpost.className=="show") { whichpost.className="hide"; }
	else { whichpost.className="show"; }
}
