/*
 * MAXLENGTH to TEXTAREA
 */
function textCounter( field, maxlimit ) {
  	if ( field.value.length > maxlimit ) {
    	field.value = field.value.substring( 0, maxlimit );
    	//alert( 'Textarea value can only be 255 characters in length.' );
    	return false;
	}
}
/*
 * Function TRIM
 */
function trim(inputString) {
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	while (ch == " "){
		retValue = retValue.substring(1, retValue.length);
		ch = retValue.substring(0, 1);
	}
	ch = retValue.substring(retValue.length-1, retValue.length);
	while (ch == " "){
		retValue = retValue.substring(0, retValue.length-1);
		ch = retValue.substring(retValue.length-1, retValue.length);
	}
	while (retValue.indexOf("  ") != -1){
		retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
	}
	return retValue;
}

/*
 * Funkce pro validaci
 * ruší: checkInsert
 * param = array ( 
 *				array (
 					array (
 *						type = text | textarea
 *						okClass
 *						badClass
 *					)
 *				)
 *	 			array (
 *					array ( seznam id selectů )
 *					okClass
 *					badClass
 *				)
 *				array (
 *	 				array (seznam id multiple selectu )
 *					okClass
 *					badClass´
 *				)
 *				array (
 *	 				array ( seznam emailových polí )
 *					okClass
 *					badClass
 *				)
 *				array (
 *	 				array ( seznam telefoních polí )
 *					okClass
 *					badClass
 *				)
 *			)
 */
 function Validate(params, obj) {
 	var error = false;
 	var temp = "";
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var phoneRegEx = /^([\+])?([0-9 ]{4,21})$/;
	if (obj) {
		frms = obj;
	} else {
		frms = document.forms[0];
	}
 	for (i=0; i<frms.length; i++){
		var e = frms.elements[i];
		// Validate required text and textarea
		if (( (e.type == "text") || (e.type == "textarea")) && (!e.disabled) && (!e.optional) && (e.lang!='') ){
			//temp += e.name+" ("+e.id+") disabled="+e.diabled+" & optional="+e.optional+" '"+e.title+"'\n";
			for(p=0; p<params[0].length; p++) {
				if ((trim(e.value) == "")||	(trim(e.value) == null)|| (trim(e.value) == "@")){
					if (e.type==params[0][p][0]) e.className = params[0][p][2];
					error = true;
				} else {
					if (e.type==params[0][p][0]) e.className = params[0][p][1];
				}
			}
		}
		// Validate Emails
		for (p=0; p<params[3][0].length; p++) {
			if (e.id == params[3][0][p]) {
				email = e.value;
				if (((email=='') || (!email.match(emailRegEx))) && (e.className==params[3][1])) {
					e.className = params[3][2];
					error = true;
				} else if (email.match(emailRegEx)) {
					e.className=params[3][1];
				}
			}
		}
		// Validate Phones
		for (p=0; p<params[4][0].length; p++) {
			if (e.id == params[4][0][p]) {
				phone = e.value;
				if (((phone=='') || (!phone.match(phoneRegEx))) && (e.className==params[4][1])) {
					e.className = params[4][2];
					error = true;
				} else if (phone.match(phoneRegEx)) {
					e.className=params[4][1];
				}
			}
		}
		// Validate SELECTs
		if (((e.type=="select-one")||(e.type=="select-multiple")) && (!e.disabled) && (!e.optional) && (e.lang!='')) {
			x = 0;
			for (o=0; o<e.options.length; o++){
				if ((e.options[o].selected) && (trim(e.options[o].value)!='')){
					x++;
				}
			}
			if (x==0) {
				for (p=0; p<params[1][0].length; p++) {
					if (e.id == params[1][0][p]) e.className = params[1][2]; 
				}
				for (p=0; p<params[2][0].length; p++) {
					if (e.id == params[2][0][p]) e.className = params[2][2]; 
				}
				temp += e.name + " ("+e.id+")["+e.type+"] - "+e.className+"\n";
				error = true;
			} else {
				for (p=0; p<params[1][0].length; p++) {
					if (e.id == params[1][0][p]) e.className = params[1][1]; 
				}
				for (p=0; p<params[2][0].length; p++) {
					if (e.id == params[2][0][p]) e.className = params[2][1]; 
				}
			}	
		}
	}
	// Validate Checkboxes
	for (p=0; p<params[5][0].length; p++) {
 		var agree = document.getElementById(params[5][0][p]);
		if ((agree != null) && (agree != '')){
			var ag = document.getElementById(params[5][0][p]+"Class");
			if (agree.checked == false){
				ag.className=params[5][1];
				error = true;
			}
		}
	}
	//alert(temp);
	if (error) {
		if (document.getElementById('errorContent')) document.getElementById('errorContent').className = "expanded";
		return false;
	}
	return true;
 }

/*
 * Funkce pro otevreni okna insertPreview
 */
function openPreview(params){
	if (Validate(params)) {
		document.getElementById('preview').value='1'; 
		document.getElementById('insertForm').submit();
	}
/*
	} else if (type=="P") {
		if (validateForm('contactEmail', 'preview', 'locality', '', 'branch', '3', '', '','agree')){
			document.getElementById('preview').value='1'; 
			document.getElementById('insertForm').submit();		
		}
	} else {
		document.getElementById('preview').value='1'; 
		document.getElementById('insertForm').submit();
	}
*/
}

/*
 * Funcke pro otevírání modálních oken
 */
function makeModal(modalType, modalTitle, modalFrom) {
	modal = new JobsModalWindow(modalType, modalTitle);
	//modal.setContentFrom('modal-muj');
	modal.setContentFrom(modalFrom);
	modal.display();
}


	function input(type, name, id, className)
	{
		var input	=newTag('input');
		input.type	=type;
		input.name	=name;
		input.id	=id;
		input.className	=className;
		return input;
	}	
	
	function newTag(tag)
	{
		return document.createElement(tag);
	}

	function showInputFile(name, idecko, newBr, idTd)
	{
		var newFile		=input('file', name, idecko, 'uploadFile');
		var refNode 	=document.getElementById(idTd);
		
		refNode.appendChild(newBr);
		refNode.appendChild(newFile);
	}

/*
 * Funkce pro zobrazení políčka pro přidání další přílohy k odpovědi na brigádu
 */
var pageReplyAttachements = 0;
function showAddAttachement(txtAddNextAttachement)
{
	var idFile		='cvAttachment';
	var nameFile	='attachement';
	var idTd		='inputboxes';
	var	newBr		=newTag('br');

	if( pageReplyAttachements == 0 ) 
	{		
		pageReplyAttachements = 1;		
		showInputFile(nameFile + pageReplyAttachements, idFile + pageReplyAttachements, newBr, idTd);		
	} 
	else 
	{
		pageReplyAttachements = 2;
		
		showInputFile(nameFile + pageReplyAttachements, idFile + pageReplyAttachements, newBr, idTd);
				
		document.getElementById(nameFile).innerHTML = "&nbsp;";
		document.getElementById("arrow").innerHTML = "&nbsp;";	
	}	
	
	
}

function showAddAttachementPrace(txtAddNextAttachement){
	if (pageReplyAttachements==0) {
		document.getElementById("upload1").innerHTML = '<input type="file" class="inp_blackborder" size="12" name="attachement1" />';
		pageReplyAttachements = 1;
	} else {
		document.getElementById("upload2").innerHTML = '<input type="file" class="inp_blackborder" size="12" name="attachement2" />';
		document.getElementById("attachement").innerHTML = "";
		pageReplyAttachements = 2;
	}		
}

function getSubmitterInfo(input,output){
    var i = document.getElementById(input);
    var o = document.getElementById(output);
    o.value = i.value;
} 


function checkKeyWord(word){
	var e = document.getElementById('key');
	if (e && e.value && e.value==word) {
		e.value = "";
	}
	return true;
}

function checkCount(id, count, title){
	var msg = "";
	var xx = 0;
	var element = document.getElementById(id);
	var ok = true;
	if (element != null){
		for (ii=0; ii<element.options.length; ii++){
			if (element.options[ii].selected){
				xx++;
			}
		}
		if (xx > count){
			ok = false;
			msg = txtYouCanAddMax+" "+count+" "+title;
		}
		if (!ok){ 
			alert(msg);
			return(false);
		} else { 
			return(true);
		}
	} 
}

function listLocality(parentSelectId, iSelected, fFirst, langProperty){
    var key="";
    var name="";
    var parentSelect = document.getElementById(parentSelectId);
    var newSelect = parentSelect.cloneNode(false);
    newSelect.disabled = false;
    col=iSelected.split(";");
    var parents=new Array();
    var ix=0;
    var l=col.length-1;
    
    if(fFirst != ""){
        if(iSelected == ""){
            var newOpt = document.createElement("option");
            newSelect.options.add(newOpt);
            newOpt.value="";
            newOpt.text=langProperty;
        }
    }

    if (optgrp[0]!="" && fFirst!="first") {
    	var newOption = document.createElement("option");
    	newSelect.options.add(newOption);
    	newOption.value="";
    	newOption.text=optgrp[0];
    }


    var optG = document.createElement("optgroup");
    optG.label = optgrp[1];
    newSelect.appendChild(optG);
    for(var i=0; i<locality['0'].length; i+=2){
        key=locality['0'][i];
        name=locality['0'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;

        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        optG.appendChild(newOption);
    }

    for(var i=0; i<locality['1'].length; i+=2){
        key=locality['1'][i];
        name=locality['1'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;

        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        optG.appendChild(newOption);
    }

    var optG = document.createElement("optgroup");
    optG.label = optgrp[2];
    newSelect.appendChild(optG);
    for(var i=0; i<locality['2'].length; i+=2){
        key=locality['2'][i];
        name=locality['2'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;

        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        optG.appendChild(newOption);
    }

    var optG = document.createElement("optgroup");
    optG.label = optgrp[3];
    newSelect.appendChild(optG);
    for(var i=0; i<locality['4'].length; i+=2){
        key=locality['4'][i];
        name=locality['4'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;

        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        optG.appendChild(newOption);
    }

    parentSelect.parentNode.replaceChild(newSelect,parentSelect);
}


function listBranch(parentSelectId, iSelected, fFirst, langProperty) {
	var key="";
    var name="";
    var parentSelect = document.getElementById(parentSelectId);
    var newSelect = parentSelect.cloneNode(false);
    newSelect.disabled = false;
    col=iSelected.split(";");
	var parents=new Array();
    var ix=0;
    var l=col.length-1;
	if(fFirst != ""){
        if(iSelected == ""){
            var newOpt = document.createElement("option");
            newSelect.options.add(newOpt);
            newOpt.value="";
            newOpt.text="-"+langProperty+"-";
        }
    }
    for(var i=0; i<branch['1'].length; i+=2){
        key=branch['1'][i];
        name=branch['1'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;

        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<col.length+1;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
               newOption.selected=true;
            }
        }
        newSelect.appendChild(newOption);
    }
    parentSelect.parentNode.replaceChild(newSelect,parentSelect);
}

function listWorkKind(parentSelectId, iSelected, fFirst, langProperty){
    var key="";
    var name="";
    var parentSelect = document.getElementById(parentSelectId);
    var newSelect = parentSelect.cloneNode(false);
    newSelect.disabled = false;
    col=iSelected.split(";");
    var parents=new Array();
    var ix=0;
    var l=col.length-1;
    if(fFirst != ""){
        //if(iSelected == ""){
            var newOpt = document.createElement("option");
            newSelect.options.add(newOpt);
            newOpt.value="";
            newOpt.text=langProperty;
        //}
    }
    for(var i=0; i<work_kind[1].length; i+=2){
        key=work_kind['1'][i];
        name=work_kind['1'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;
        
        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        newSelect.appendChild(newOption);
    }

    parentSelect.parentNode.replaceChild(newSelect,parentSelect);
}

function listLabourRelation(parentSelectId, iSelected, fFirst, langProperty) {
	var key="";
    var name="";
    var parentSelect = document.getElementById(parentSelectId);
    var newSelect = parentSelect.cloneNode(false);
    newSelect.disabled = false;
    col=iSelected.split(";");
    var parents=new Array();
    var ix=0;
    var l=col.length-1;
    if(fFirst != ""){
        if(iSelected == ""){
            var newOpt = document.createElement("option");
            newSelect.options.add(newOpt);
            newOpt.value="";
            newOpt.text=langProperty;
        }
    }

    for(var i=0; i<labour_relation[1].length; i+=2){
        key=labour_relation['1'][i];
        name=labour_relation['1'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;
        
        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        newSelect.appendChild(newOption);
    }

    parentSelect.parentNode.replaceChild(newSelect,parentSelect);
}

function listDuration(parentSelectId, iSelected, fFirst, langProperty){
    var key="";
    var name="";
    var parentSelect = document.getElementById(parentSelectId);
    var newSelect = parentSelect.cloneNode(false);
    newSelect.disabled = false;
    col=iSelected.split(";");
    var parents=new Array();
    var ix=0;
    var l=col.length-1;
    if(fFirst != ""){
        if(iSelected == ""){
            var newOpt = document.createElement("option");
            newSelect.options.add(newOpt);
            newOpt.value="";
            newOpt.text=langProperty;
        }
    }
    for(var i=0; i<duration[1].length; i+=2){
        key=duration['1'][i];
        name=duration['1'][i+1];
        var newOption = document.createElement("option");
        newSelect.options.add(newOption);
        newOption.value=key;
        newOption.text=name;

        /* MU - upraveno z "for(ix=0; ix<1;ix++){", předtím to nevlezlo do cyklu ani jednou. */
        for(ix=0;ix<2;ix++){
            var myArray=new Array(l);
            myArray[ix]=col[ix];
            if (key==myArray[ix]){
                newOption.selected=true;
            }
        }
        newSelect.appendChild(newOption);
    }
    parentSelect.parentNode.replaceChild(newSelect,parentSelect);
}

function getDistrict(parentSelectId, changedSelectId, iSelected){
    var key="";
    var name="";
    var lokId="";
    var parentSelect = document.getElementById(parentSelectId);
    var changedSelect = document.getElementById(changedSelectId);
    var newSelect = changedSelect.cloneNode(false);
    newSelect.disabled = false;
    col=iSelected.split(";");
    var parents=new Array();
    var ix=0;
    var l=col.length-1;
    for(ii=0; ii<parentSelect.options.length; ii++){
        if(parentSelect.options[ii].selected){
            lokId=parentSelect.options[ii].value;
            for(var i=0;i < c_locality[lokId].length; i+=2){
                key=c_locality[lokId][i];
                name=c_locality[lokId][i+1];
                var newOption = document.createElement("option");
                newSelect.options.add(newOption);
                newOption.value=key;
                newOption.text=name;
                for(ix=0;ix<col.length+1;ix++){
                    var myArray=new Array(l);
                    myArray[ix]=col[ix];
                    if (key==myArray[ix]){
                        newOption.selected=true;
                    }
                }
                newSelect.appendChild(newOption);
            }
        }
    }
    changedSelect.parentNode.replaceChild(newSelect,changedSelect);
}

function getDistricted(parentSelectId, changedSelectId, iSelected){
	var key="";
	var name="";
	var lokId="";
	var parentSelect = document.getElementById(parentSelectId);
	var changedSelect = document.getElementById(changedSelectId);
	var newSelect = changedSelect.cloneNode(false);
	newSelect.disabled = false;
	col=iSelected.split(";");
	var parents=new Array();
	var ix=0;
	var l=col.length-1;
	for(ii=0; ii<parentSelect.options.length; ii++){
		if(parentSelect.options[ii].selected){
			lokId=parentSelect.options[ii].value;
			for(var i=0;i <t_locality[lokId].length;i+=2){
				key=t_locality[lokId][i];
				name=t_locality[lokId][i+1];
				var newOption = document.createElement("option");
				newSelect.options.add(newOption);
				newOption.value=key;
				newOption.text=name;
				for(ix=0;ix<l;ix++){
					var myArray=new Array(l);
					myArray[ix]=col[ix];
					if (key==myArray[ix]){
						newOption.selected=true;
					}
				}
				newSelect.appendChild(newOption);
			}
		}
	}
	changedSelect.parentNode.replaceChild(newSelect,changedSelect);
}