var ie4        = false; if(document.all) { ie4 = true; }
var image_path = "template/images";
var ajax_path  = "httpsdocs/includes/ajax";
var httpObject = null;

//load config file
function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e);
}

function getObject(id) {
    if (ie4) {
        return document.all[id];
    } else {
        return document.getElementById(id);
    }
}

function hidde( id ) {
        var d = getObject( id );
        d.style.display = 'none';
}

function show( id ) {
        var d = getObject( id );
        d.style.display = 'block';
}

/*function showPage( profilpage ) {
		 document.getElementById("menu_profilpage").value = profilpage;
         //document.menu.profilpage.value = profilpage;
		 document.menu.submit();
         return false;
}*/
function showPage( profilpage ) {
    document.menu.menu_profilpage.value = profilpage;
    document.menu.submit();
    return false;
}

function selectPage( profilpage ) {
	
	document.getElementById("menu").action = document.getElementById("menu").action+"&profilpage="+profilpage;
//	document.getElementById("menu_profilpage").value = profilpage;
//	alert(document.getElementById("menu").action);
//	 document.getElementById("profilpage").value = profilpage;
	document.getElementById("menu").submit();
     
}

function focused ( inputbox ) {
    if (typeof inputbox == "string") {
       inputbox = getObject( inputbox );
    }

    inputbox.style.backgroundColor = "#FFFFDD";
}

function leave ( inputbox ) {
    if (typeof inputbox == "string") {
       inputbox = getObject( inputbox );
    }

    inputbox.style.backgroundColor = "#EAE6DD";
}

function submitbutton ( formname, task ) {
         var f = document.getElementById( formname );

	     f.task.value = task;
         f.submit();
}

function submitForm( formname ) {
             var f = document.getElementById( formname );
             
             f.task.value = "save";
             f.submit();
}

function selectAll( selectid ) {
         var s = getObject(selectid);
         
         for (i = 0; i<s.length; i++) {
        	 s.options[i].selected = true;
         }
}

function submitWorkexperiences() {
	     selectAll( 'rgtBranches' );
	     selectAll( 'rgtWorkpositions' );
	     submitForm('workexperience');
}

function anrede_change ( txt ) {
    var m   = getObject('Herr');
    var f   = getObject('Frau');
    var ac  = getObject('anrede');
    
    if ( txt == "Frau" ) {
       ac.selectedIndex = 1;
       m.checked        = false;
       f.checked        = true;
    } else {
       ac.selectedIndex = 0;
       m.checked        = true;
       f.checked        = false;
    }
}

function upload() {
         submitbutton('profil', 'upload');
}

function changeCurrency() {
         d = getObject('day_currency');
         m = getObject('month_currency');
         y = getObject('year_currency');

         m.innerHTML = d.options[d.selectedIndex].text;
         y.innerHTML = d.options[d.selectedIndex].text;
}

function deselect_countries() {
             getObject('germany').checked     = false;
             getObject('austria').checked     = false;
             getObject('switzerland').checked = false;
             getObject('europa').checked      = false;
             getObject('world').checked       = false;

             select_plz( false );
}

function check_europa() {
         check_none_countries();
}

function select_plz( checked ) {
    getObject('plz0').checked = checked;
    getObject('plz1').checked = checked;
    getObject('plz2').checked = checked;
    getObject('plz3').checked = checked;
    getObject('plz4').checked = checked;
    getObject('plz5').checked = checked;
    getObject('plz6').checked = checked;
    getObject('plz7').checked = checked;
    getObject('plz8').checked = checked;
    getObject('plz9').checked = checked;

    getObject('plz_checked').value = ( checked ) ? 10 : 0;
}

function select_germany() {
         d  = getObject('germany');

         select_plz(d.checked);
         check_none_countries();
}

function check_plz( checked ) {
     if (checked == true){
            document.salary.plz_checked.value++;
        }
        else {
            document.salary.plz_checked.value--;
        }

        getObject('germany').checked = (document.salary.plz_checked.value == 10);
        check_none_countries();
}

function select_europa() {
        if ( getObject('europa').checked ) {
           getObject('austria').checked     = true;
           getObject('switzerland').checked = true;
           getObject('germany').checked     = true;

           select_germany();
           getObject('deselect').checked = false;
        }

        check_none_countries();
}

function select_world() {
        if ( getObject('world').checked ) {
           getObject('europa').checked = true;
           select_europa();
           getObject('deselect').checked = false;
        }

        check_none_countries();
}

function check_none_countries() {
         if ( document.salary.plz_checked.value < 10 ) {
                 getObject('germany').checked = false;
         }
        
             if (   getObject('germany').checked     == false 
                 ||     getObject('austria').checked     == false
                 ||     getObject('switzerland').checked == false ) {
                 getObject('europa').checked = false;
             }
                 
             if ( getObject('europa').checked == false ) {
                 getObject('world').checked = false;
             }

             if (    document.salary.plz_checked.value > 0
                 ||      getObject('austria').checked == true
                 ||  getObject('switzerland').checked == true
                 ||  getObject('europa').checked == true
                 ||  getObject('world').checked == true ) {
                     getObject('deselect').checked = false;
             }
}


function setData( str ) {
    var datas    = str.split("\n");
    var f        = null;
    var e        = datas[0];
    
    if ( e == 0 ) {
       return;
    } else if ( e == -2 ) {
    	location.href = "http://"+op_config_op_host+"/index.php?page=start";   	
    }

    var type_row = datas[1];
    var task_row = datas[2];
    var type     = type_row.substring(type_row.indexOf("=")+2, type_row.length-1);
    var task     = datas[2].substring(task_row.indexOf("=")+2, task_row.length-1);
    var f        = document.getElementById( type + '_form');    	
    var oldid    = f.ID.value;
    var itmid    = 0;
    
    for (i = 3; i < datas.length; i++ ) {
                row = datas[i];
        p   = row.indexOf("=");

        if ( p == -1 ) {
           continue;
        }
        
            k = row.substring(0, p);
            v = row.substring(p+2, row.length-1);
    
        if ( k == "ID" ) {
        	itmid = v;

        	if ( task == "remove" && oldid != v ) {
                continue;
        }
        }
        
            if ( k.substring(0, 1) == '_' ) {
                switch ( k ) {
                   case "_error": error = v;
                                  break;

               default:
            	   if ( v.length == 0 ) {
                        document.getElementById( type + k).style.display = 'none';
            	    } else {
                        document.getElementById( type + k).style.display = 'block';
                                 document.getElementById( type + k).innerHTML = v;
                    }

                     break;
                }
            } else {
        	
                   for (l = 0; l<f.length; l++) {
                           if ( f[l].name == k ) {
                                   f[l].value = v;
                                   break;
                           }
                   }
            }
        }
    
    var showmask = (getObject( type + "_mask_box").style.display == "block");
     var newid    = f.ID.value;
        
        if (   ((task == "save"   || task  == "cancel") && error == "1")
            || ((task == "create" || task  == "edit")   && error == "0")
         ||  (task == "remove"                       && ( error == "0" && oldid != itmid && showmask ) )) {
                   hidde( type + "_add");                       
               show(  type + "_mask_box" );     
        } else {
                   hidde( type + "_mask_box");                          
                   show(  type + "_add");       
        }
        
}

function refreshData() {
    if (httpObject.readyState == 4) {
       setData(httpObject.responseText);
    }   
}

function newData( type ) {
        document.getElementById( type + "_message" ).style.display      = "none";
              
	    if ( document.getElementById( type + "_file_message" ) ) {
            document.getElementById( type + "_file_message" ).style.display = "none";
        }

        if ( document.getElementById( type + "_file" ) ) {
                document.getElementById( type + "_file" ).value = "";
        }
        
        doGetAjax("tablemask.php?type=" + type + "&task=create", refreshData);
    return false;
}

function editData( type, id ) {
        document.getElementById( type + "_message" ).style.display      = "none";

        if ( document.getElementById( type + "_file_message" ) ) {
            document.getElementById( type + "_file_message" ).style.display = "none";
        }

        if ( document.getElementById( type + "_file" ) ) {
              document.getElementById( type + "_file" ).value = "";
        }

        doGetAjax("tablemask.php?type=" + type + "&task=edit&id=" + id, refreshData);
    return false;
}

function removeData( type, id ) {
        ok = confirm("Sollen diese Daten entfernt werden?");
        if (ok == true) {
                doGetAjax("tablemask.php?type=" + type + "&task=remove&id=" + id, refreshData);
        }
   return false;
}

function saveData( type ) {
             document.getElementById( type + '_form').task.value = "save";
             submitAjaxForm( type + '_form', ajax_path + "/tablemask.php", refreshData);
}

function cancelData( type ) {
        id = document.getElementById( type + '_form').ID.value;
        ok = confirm("Soll die Eingabe abgebrochen werden?\nNicht gespeicherte Daten gehen dann verloren.");
        if (ok == true) {
                doGetAjax("tablemask.php?type=" + type + "&task=cancel&id=" + id, refreshData);
        }
   return false;
}

function uploadfile( type ) {
    var f  = document.forms[ type + '_upload_form'];

    f.elements['id'].value     = document.forms[ type + '_form'].elements['ID'].value;
    f.elements['type'].value   = document.forms[ type + '_form'].elements['type'].value;

    f.elements['type'].value = type;
    
    getObject(type + '_upload_process').style.visibility = 'visible';
    getObject(type + '_file_form').style.visibility = 'hidden';

    f.submit();
    return true;
}

function stopUpload( type, filelist, title, message ){
    if ( filelist.length > 0 ) {
        getObject(type + '_files').innerHTML = filelist;
    }

    if ( title.length > 0 ) {
        getObject(type + '_filestitle').innerHTML = title;
    }

    if ( message.length > 0 ) {
        getObject(type + '_file_message').innerHTML = message;
    }

    getObject(type + '_upload_process').style.visibility = 'hidden';
    getObject(type + '_file_form').style.visibility      = 'visible';
}

function appendItem(list, option) {
	var l = getObject(list);
	
	if ( ie4 ) {
		nextOption = l.length;
	} else {
		nextOption = null;
	}
	
	l.add(option, nextOption);
}

function insertItem(list, option, nextItemNr) {
	var l = getObject(list);
	
	if ( ie4 ) {
		nextOption = nextItemNr;
	} else {
		nextOption = l.options[nextItemNr];
	}
	
	l.add(option, nextOption);
}

function moveItems( toList, fromList ) {
	var fl = getObject( fromList );
    var tl = getObject( toList );
    
    for (i = 0; i < fl.length; i++) {
   	    if ( fl.options[i].selected ) {
     	 	var o   = new Option(fl.options[i].text, fl.options[i].value);
     	 	var add = false;
     	 	
     	 	for (j = 0; j < tl.length; j++) {
     	 		if ( tl.options[j].text >= fl.options[i].text ) {
     	 		   if ( tl.options[j].text > fl.options[i].text ) {
       	 		      insertItem(toList, o, j);
      	 		   }

     	 		   add = true;
     	 		   break;
     	 		}
     	 	}
     	 	
     	 	if ( !add ) {
               appendItem(toList, o);     	 		
     	 	}
 		    
     	 	fl.options[i] = null;
 	 		i--;
   	    }
    }	     
}

function moveItemToLastPosition( toList, fromList ) {
	var fl = getObject( fromList );
    var tl = getObject( toList );
    
    for (i = 0; i < fl.length; i++) {
   	    if ( fl.options[i].selected ) {
     	 	var o   = new Option(fl.options[i].text, fl.options[i].value);
     	 	var add = false;
     	 	
     	 	var lastPos = tl.length;
     	 	if(lastPos > 0) {
     	 		insertItem(toList, o, lastPos);
     	 		add = true;
     	 	}
     	 	
     	 	if ( !add ) {
               appendItem(toList, o);     	 		
     	 	}
 		    
     	 	fl.options[i] = null;
 	 		i--;
   	    }
    }	     
}

function setFileData(  ) {
    if (httpObject.readyState == 4) {
         var s     = httpObject.responseText;
         var datas = s.split("\n");
         var type  = "";
         
         for (i = 0; i<datas.length; i++) {
             row = datas[i];
             p   = row.indexOf("=");

             if ( p == -1 ) {
                continue;
             }
             
            k = row.substring(0, p);
            v = row.substring(p+2, row.length-1);

            if ( i == 0 ) {
               type = v;        
            } else {
                document.getElementById(type + k).innerHTML = v;
            }
         }
    }
}

function deletefile( type, id ) {
    doGetAjax('delete_file.php?type=' + type + '&id='+id,  setFileData);     
    return false;
}

function clearMask( typ ) {
         document.forms[ typ + '_form'].reset();
}

function withoutDate( typ ) {
         var f = document.forms[ typ + '_form'];
         var b = getObject( typ + '_without_date');

         if ( b.checked == false ) {
            getObject("educations_date").style.display = "block";
         } else {
            getObject("educations_date").style.display = "none";
         }

         f.elements["date"].value = !b.checked;
}

function toogle( id ) {
    var v = getObject('skill_view' + id);
    var l = getObject('_colapse_sign_' + id);
    
    if (v.style.display == 'none') {
        v.style.display = 'block';
        l.innerHTML     = '&#9660;';

    } else {
        v.style.display = 'none';
        l.innerHTML     = '&#9658;';
    }
}

function getHTTPObject(){
      if (window.ActiveXObject)
         return new ActiveXObject("Microsoft.XMLHTTP");
      else if (window.XMLHttpRequest)
         return new XMLHttpRequest();
      else {
         alert("Your browser does not support AJAX.");
         return null;
      }
}

function submitAjaxForm( formid, url, func ) {
    httpObject = getHTTPObject();

    if (httpObject != null) {
           var f = document.getElementById( formid );
           var s = ""; 
        
           if ( f.length > 0 ) {
              s = f[0].name + "=" + encodeURI( f[0].value );
                
                  for ( l=1; l<f.length; l++) {
                     s += "&" + f[l].name + "=" + encodeURI( f[l].value );
                  }
                  
                  httpObject.onreadystatechange = func;
                  httpObject.open('POST', url, true);
                  httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
                  httpObject.setRequestHeader("Content-length", s.length);
                  httpObject.setRequestHeader("Connection", "close");
                  httpObject.send(s);
           }
    }

        return false;
}

function doAjax(methode, file_param, f){
      httpObject = getHTTPObject();

      if (httpObject != null) {
          httpObject.open(methode, ajax_path + '/' + file_param, true);
          httpObject.send(null);

          httpObject.onreadystatechange = f;
      }
}

function doGetAjax(file_param, f){
      doAjax('GET', file_param, f);
}

/* für Autocompleter */
function formatResult(row) {
    var str = row[1].replace(/(<.+?>)/gi, '');
    return str.replace(/(\s\(.+\))/gi, '');
}

$(document).ready(function() {
        $("#Nationality").autocomplete(
                    ajax_path + "/nationalities.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 180,
                    selectFirst   : true
                }
        );

        $("#NativeLanguage").autocomplete(
                    ajax_path + "/languages.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 180,
                    selectFirst   : true
                }
        );

        $("#CountryCode").autocomplete(
                    ajax_path + "/countries.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#educationsCountryCode").autocomplete(
                    ajax_path + "/countries.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#trainingsCountryCode").autocomplete(
                    ajax_path + "/countries.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#educationsInstitute").autocomplete(
                    ajax_path + "/institutes.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#trainingsInstitute").autocomplete(
                    ajax_path + "/institutes.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#educationsDescription").autocomplete(
                    ajax_path + "/branches.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 300,
                    selectFirst   : true
                }
        );

        $("#trainingsDescription").autocomplete(
                    ajax_path + "/branches.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 300,
                    selectFirst   : true
                }
        );

        $("#educationsDegree").autocomplete(
                    ajax_path + "/degrees.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#trainingsDegree").autocomplete(
                    ajax_path + "/degrees.php", {
                    minChars      : 2,
                    cacheLength   : 10,
                    scroll        : true,
                    scrollHeight  : 100,
                    autoFill      : false,
                    width         : 400,
                    selectFirst   : true
                }
        );

        $("#Staate").autocomplete(
                ajax_path + "/staates.php", {
                minChars      : 2,
                cacheLength   : 10,
                scroll        : true,
                scrollHeight  : 100,
                autoFill      : false,
                width         : 400,
                
                extraParams: {
                        country: function() { return $("#CountryCode").val(); }
                },
                selectFirst   : true
             }
        );

        $("#educationsStaate").autocomplete(
                ajax_path + "/staates.php", {
                minChars      : 2,
                cacheLength   : 10,
                scroll        : true,
                scrollHeight  : 100,
                autoFill      : false,
                width         : 400,
                        
                extraParams: {
                        country: function() { return $("#educationsCountryCode").val(); }
                },
                selectFirst   : true
           }
         );

         $("#trainingsStaate").autocomplete(
                 ajax_path + "/staates.php", {
                 minChars      : 2,
                 cacheLength   : 10,
                 scroll        : true,
                 scrollHeight  : 100,
                 autoFill      : false,
                 width         : 400,
                         
                 extraParams: {
                        country: function() { return $("#trainingsCountryCode").val(); }
                 },
                 selectFirst   : true
            }
          );

         $("#Skillname").autocomplete(
                 ajax_path + "/skills.php", {
                 minChars      : 2,
                 cacheLength   : 10,
                 scroll        : true,
                 scrollHeight  : 100,
                 autoFill      : false,
                 width         : 400,
                 formatResult  : formatResult,
                 selectFirst   : true
            }
          );
         
         $("#search-keyword").autocomplete(
                 ajax_path + "/skills.php", {
                 minChars      : 2,
                 cacheLength   : 10,
                 scroll        : true,
                 scrollHeight  : 100,
                 autoFill      : false,
                 width         : 400,
                 formatResult  : formatResult,
                 selectFirst   : false
            }
          );
         
         $("#search-region").autocomplete(
                 ajax_path + "/region.php", {
                 minChars      : 2,
                 cacheLength   : 10,
                 scroll        : true,
                 scrollHeight  : 100,
                 autoFill      : false,
                 width         : 105,
                 selectFirst   : false
            }
          );

         $("#Communicationtyp").autocomplete(
                 ajax_path + "/communicationtyps.php", {
                 minChars      : 2,
                 cacheLength   : 10,
                 scroll        : true,
                 scrollHeight  : 100,
                 autoFill      : false,
                 width         : 400,
                 selectFirst   : true
            }
          );

});







