/**
 * TAXNEWS JavaScript core
 *
 * @author  Peter Dobetsberger <p.dobetsberger@edelweiss72.de>
 *
 * Conventions:
 * Variables in camelCase
 * Classes in PascalCase
 * Function/Methods in camelCase
 */
 
TAXNEWS = {};


// Helper für show/hide
TAXNEWS.findObj = function (n, d) { 
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=TAXNEWS.findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
}


// Helper für show/hide 
TAXNEWS.changeProp = function (objName,x,theProp,theValue) { 
    var obj = TAXNEWS.findObj(objName);
    if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
    eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
    }
}


// hide Layer 
TAXNEWS.hideLayer = function (setDiv) {
	  TAXNEWS.changeProp(setDiv,'','style.display','none','DIV');
}


// show Layer
TAXNEWS.showLayer = function (setDiv) {
	  TAXNEWS.changeProp(setDiv,'','style.display','block','DIV');
}


// klappt Weitere/Weniger auf/zu 
TAXNEWS.toggleMore = function (id) {
    moreLess=true;
    link='box_link_'+id;
    div='box_div_'+id;
    if (document.getElementById(div).className=='boxMore displayNone') {
        moreLess=false;
        document.getElementById(div).className='boxMore';
        document.getElementById(link).className='boxButLess spritesGeneral'; 
    }
    else  {
        document.getElementById(div).className='boxMore displayNone';
        document.getElementById(link).className='boxButMore spritesGeneral'; 
    }
}


// meine Auswahl 
TAXNEWS.mySelection = function (language) {
    string='';
    TAXNEWS.showLayer('div_my_selection');
    if (document.getElementById('real_estate').checked) {
    string+=document.getElementById('label_real_estate').innerHTML+', ';
    }
    if (document.getElementById('financial_services').checked) {
    string+=document.getElementById('label_financial_services').innerHTML+', ';
    }
    if (document.getElementById('public_sector').checked) {
    string+=document.getElementById('label_public_sector').innerHTML+', ';
    }
    if (document.getElementById('m_a').checked) {
    string+=document.getElementById('label_m_a').innerHTML+', ';
    }
    
    if (language=='en') {
    string+='Time: ';
    }
    else {
    string+='Zeitraum: '; 
    }
    
    if (document.getElementById('period_0').checked) {
    string+=document.getElementById('label_period_0').innerHTML;
    }
    else if (document.getElementById('period_last_week').checked) {
    string+=document.getElementById('label_period_last_week').innerHTML;
    }
    else if (document.getElementById('period_last_4week').checked) {
    string+=document.getElementById('label_period_last_4week').innerHTML;
    }
    else if (document.getElementById('period_last_8week').checked) {
    string+=document.getElementById('label_period_last_8week').innerHTML;
    }
    else if (document.getElementById('period_date').checked) {

        if (document.getElementById('period_from').value!='') {
        string+=document.getElementById('period_from').value;
        }
        if (document.getElementById('period_to').value!='') {
        string+=' - '+document.getElementById('period_to').value;
        }

    }
    document.getElementById('div_my_selection_selected').innerHTML=string;
}


// Checkboxen an/aus
var checkflag=false; 
TAXNEWS.selectAllCheckboxes = function () {
    var ml = document.f;
    var len = ml.elements.length;
    for (var i = 0; i < len; i++) {
        var e = ml.elements[i];
        if (e.name == "print[]") {
            if (checkflag==false) {
            e.checked = true;
            document.getElementById('checkbox_top').checked=true;
            document.getElementById('checkbox_bottom').checked=true; 
            }
            else {
            e.checked = false;
            document.getElementById('checkbox_top').checked=false;
            document.getElementById('checkbox_bottom').checked=false; 
            }
        }
    }
    if (checkflag==false) {;
    checkflag=true;
    }
    else {
    checkflag=false;
    }
}


// prüft on zumindest 1 Checkbox geklickt wurde
TAXNEWS.minCheckbox = function () {
    ischecked=false;
    var ml = document.f;
    var len = ml.elements.length;
    for (var i = 0; i < len; i++) {
        var e = ml.elements[i];
        if (e.name == "print[]") {
            if (e.checked==true) {
            ischecked=true;
            }
        }
    }
    return ischecked; 
}


// Searchtext prüfen 
TAXNEWS.checkSearchText = function () {
    searchtext=document.getElementById('searchtext').value;
    searchtext=(searchtext.replace(/ /gi,""));
    if ((searchtext=='Suche') || (searchtext=='Search') || (searchtext=='')) {
        alert(globalStringSearchmsg);
        return false; 
    }
    else if ((searchtext.length<3) && (searchtext!='*')) {
        alert(globalStringSearchmsgminchar);
        return false;
         
    }
    else { 
        return true;
    } 
}


// setzt User+PW auf leer
TAXNEWS.setEmptyField = function (id,val) {
    if (document.getElementById(id).value==val) {
        document.getElementById(id).value='';
        document.getElementById(id).focus();
    }
}


// setzt inputfeld auf gesetzten Wert wenn leer
TAXNEWS.setValueField = function (id,val) {
    if (document.getElementById(id).value=='') {
        document.getElementById(id).value=val;
    }
}


// Nur bei Contentseit wenn über onclick
TAXNEWS.printPdfDocument = function () {
    TAXNEWS.showLayer('ani_pdf');
    setTimeout("TAXNEWS.hideLayer('ani_pdf')",1500);
}


// Drucken auf Seite Searchresult - diese Funktion mass per JS aufgerufen werden, da es hier nur 1 Formtag gibt
TAXNEWS.printDocuments = function (ptype,pagename) { 
    if (TAXNEWS.minCheckbox()==false) {
        alert(globalStringCheckboxmsg);
    }
    else {
        if (ptype=='pdf') {
            document.f.target='print_frame';
            TAXNEWS.showLayer('ani_pdf');
            setTimeout("TAXNEWS.hideLayer('ani_pdf')",2000);
        }
        else {
            document.f.target='_blank';
        } 
        document.f.printtype.value=ptype;
        document.f.action='/home/print.html';
        if (ptype=='pdf') {
            setTimeout("document.f.submit();",500);
            setTimeout("document.f.target='_self';",600); 
            setTimeout("document.f.action='/home/searchresult.html';",600); 
        }
        else {
            document.f.submit();
            document.f.target='_self';
            document.f.action='/home/searchresult.html'; 
        }
    }  
}


// Drucken auf Seite Searchresult - diese Funktion mass per JS aufgerufen werden, da es hier nur 1 Formtag gibt
TAXNEWS.englishContent = function () { 
    if (TAXNEWS.checkSearchText()===true) {
    document.f.submit();
    }
}

               
// oeffnet Popup wird für popup-Modul benötigt
TAXNEWS.openPopup = function (URL,popname,W,H,scroll,rezisable,X,Y) {
  	var URL,popname,W,H,scroll,rezisable,X,Y;
  	if (!popname) { popname='popup'; }
  	if (!W) { W=520; }
  	if (!H) { H=460; }
  	if (!scroll) { scroll=0; }
  	if (!rezisable) { rezisable=0; }
  	if (!X) { X=screen.width/2-(W/2); }
  	if (!Y) { Y=screen.height/2-(H/2)-20; }
  	properties = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+scroll+",resizable="+rezisable+",";
  	properties += "width="+W+",height="+H+",left="+X+",top="+Y;
  	popwin=window.open(URL,popname,properties);
  	popwin.focus();
}


// wird für popup-Modul in easyred benötigt 
function openPopup(URL,popname,W,H,scroll,rezisable,X,Y) {
  	var URL,popname,W,H,scroll,rezisable,X,Y;
  	if (!popname) { popname='popup'; }
  	if (!W) { W=520; }
  	if (!H) { H=460; }
  	if (!scroll) { scroll=0; }
  	if (!rezisable) { rezisable=0; }
  	if (!X) { X=screen.width/2-(W/2); }
  	if (!Y) { Y=screen.height/2-(H/2)-20; }
  	properties = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+scroll+",resizable="+rezisable+",";
  	properties += "width="+W+",height="+H+",left="+X+",top="+Y;
  	popwin=window.open(URL,popname,properties);
  	popwin.focus();
}
