<!--

/*
	checkfield : field to check
	field      : field contains value for length
	maxLen     : shorten string greater than maxLen
*/
function checkLength ( checkfield , field , maxLen ) {
	if ( !maxLen ) maxLen = 255 ;
	var anz = field.value.length ;
	if ( anz > maxLen ) {
		field.value = field.value.substring ( 0 , maxLen-1 ) ;
		frei = 0 ;
		alert ( "Der Text wurde automatisch auf "+maxLen+" Zeichen gekürzt." ) ;
	}
	else {
		frei = maxLen - anz;
	}
	document.form[checkfield].value = frei;
}


function toggleVisibility() {
    for(var i=0;i < arguments.length; ++i) {
        var id = arguments[i];
        content = document.getElementById(id);
        if (content.style.display != 'none') {
            //content.style.visibility = 'hidden';
            content.style.display = 'none';
        } else {
            //content.style.visibility = 'visible';
            content.style.display = '';
        }
    }
}

var current_element = false;

function show(id) {
	var new_element = document.getElementById(id)
	if(new_element) {
		if(new_element == current_element)
			return;
		if(current_element != false) {
			hide(current_element);
		}

		//new_element.style.visibility = 'visible';
		new_element.style.display = 'block';
		current_element = new_element;

	}
}

function hide(elem) {
	//elem.style.visibility = 'hidden';
	elem.style.display = 'none';
}

function check_popup(url,name){
    window.open(url,'Check','width=310,height=320,scrollbars=no,resizable=yes');
}

function info_popup(url,name) {
	window.open(url,'Info','width=520,height=545,scrollbars=no,resizable=yes');
}

function web20_popup(url,name) {
	window.open(url,'Info','width=320,height=280,scrollbars=yes,resizable=yes');
}

function webpage_popup(url) {
	var newWebpageWin=window.open(url,'','scrollbars=yes,resizable=yes');
    newWebpageWin.opener.focus()
}
function whois_popup(url,name) {
	window.open(url,'Info','width=520,height=555,scrollbars=yes,resizable=yes');
}
function buildInfo(myframe, mytarget) {
	frameid=parent.document.getElementById(myframe);
    frameid.src=mytarget;
}
function help_popup(url,name) {
	window.open(url,'Info','width=600,height=500,scrollbars=yes,resizable=yes'); 
}

function domainlist_popup (url,name) {
	var start = window.open(url,'domainlist','width=780,height=500,scrollbars=yes,resizable=yes');
	start.focus() ;
}

function quotas_popup (url,name) {
	var start = window.open(url,'quotas','width=780,height=500,scrollbars=yes,resizable=yes');
	start.focus() ;
}

function na_change_img_src(name, nsdoc, rpath, preload) { 
    var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
    if (name == '') return;
    if (img) {
        img.altsrc = img.src;
        img.src    = rpath;
    } 
}

function na_restore_img_src(name, nsdoc) {
    var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
    if (name == '') return;
    if (img && img.altsrc) {
        img.src    = img.altsrc;
        img.altsrc = null;
    }
}

function MM_findObj(n, d) { //v3.0
    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=MM_findObj(n,d.layers[i].document);
        return x;
    }
}

function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments;
    document.MM_sr=new Array;
    for(i=0;i<(a.length-2);i+=3) {
        if ((x=MM_findObj(a[i]))!=null) {
            document.MM_sr[j++]=x;
            if (!x.oSrc) x.oSrc=x.src;
            x.src=a[i+2];
        }
    }
}

function MM_preloadImages() { //v3.0
    var d=document;
    if (d.images) {
        if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
        for (i=0; i<a.length; i++) {
            if (a[i].indexOf("#")!=0) {
                d.MM_p[j]=new Image;
                d.MM_p[j++].src=a[i];
            }
        }
    }
}

function checkLegalForm() {
	var opt = document.getElementById('legal_form_option');
	var other = document.getElementById('legal_form_other');
	var other_key = document.getElementById('legal_form_other_key');
	if(opt.options[opt.options.selectedIndex].value == 'other') {
		other.style.display = '';
		other_key.style.display = '';
	} else {
		other.style.display = 'none';
		other_key.style.display = 'none';
	}
}

/**
 * please_wait
 * 
 * @access public
 * @param string text
 * @return bool
 */
function please_wait (text) {
    if (!text)
        text = '';

    var blend   = $('please_wait_blend');
    var div     = $('please_wait');
    var txt     = $('please_wait_text');

    txt.set('html',text);
    if (navigator.appName.indexOf("Internet Explorer") != -1) {
        blend.setStyle('position','absolute');
    } else {
        blend.setStyle('position','relative');
    }

    blend.setStyle('visibility','visible');
	blend.setStyle('display','block');
    blend.setStyle('top','0px');
    blend.setStyle('left','265px');
    blend.setStyle('width','725px');

    div.setStyle('visibility','visible');
    div.setStyle('display','block');

    txt.setStyle('visibility','visible');
	txt.setStyle('display','block');

    return true;
}

/**
 * please_wait_domcheck
 * 
 * @access public
 * @param string text
 * @return bool
 */
function please_wait_domcheck (text) {
    if (!text) 
        text = '';

    please_wait(text);

    var divDom      = $('please_wait_domcheck');
    var waitball    = $('waitball');

    divDom.setStyle('visibility','visible');
    waitball.setStyle('visibility','visible');
    
    divDom.setStyle('display','block');
    waitball.setStyle('display','block');

    return true;
}

/**
 * microtime
 *
 * @access public
 * @param bool get_as_float
 * @return string|float
 */
function microtime(get_as_float) {
    var now = new Date().getTime() / 1000;
    var s = parseInt(now, 10); 
    return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s;
}

/**
 * changeLanguageOrCurrency
 * 
 * @access public
 * @param object event
 * @return bool
 */
function changeLanguageOrCurrency(event) {
    var popup               = document.getElementById('languageCurrencyChange');

    if ( typeof(popup)!="object" || popup==null ) 
        return false;
    
    if ( popup.style.display == 'block' ) {
        return resetChangeLanguageOrCurrency();
    }

    popup.style.overflow    = 'hidden';
    popup.style.top         = '34px';
    popup.style.left        = '980px';
    popup.style.width       = '0px';
    popup.style.height      = '0px';
    popup.style.display     = 'block';

    var morph = new Fx.Morph('languageCurrencyChange');
    morph.start({width:'200px',height:'91px',left:'780px'});
    $('languageCurrencyChange').fade(1);

    return false;
}

/**
 * submitChangeLanguageOrCurrency
 *
 * @access pubic
 * @param void
 * @return bool
 * @use htdocs/tpl/common/header.tpl
 * @info Currency change on Basket Pages
 */
function submitChangeLanguageOrCurrency() {
    var useLang             = document.getElementById('useLang');
    var languageChangeOMat  = document.getElementById('LanguageChange-O-Mat');
    var useCurrency         = document.getElementById('useCurrency');
    var currencyChangeOMat  = document.getElementById('CurrencyChange-O-Mat');
    var popup               = document.getElementById('languageCurrencyChange');

    popup.style.overflow    = 'hidden';
    popup.style.top         = '34px';
    popup.style.left        = '780px';
    popup.style.width       = '200px';
    popup.style.height      = '91px';
    popup.style.display     = '';

    var morph = new Fx.Morph('languageCurrencyChange');
    morph.start({width:'0px',height:'0px',left:'980px'});
    $('languageCurrencyChange').fade(0);
    
    if ( languageChangeOMat.value == useLang.value && currencyChangeOMat.value == useCurrency.value ) {
        for (i=0;i<currencyChangeOMat.options.length;i++) {
            if ( currencyChangeOMat.options[i].value == useCurrency.value ) {
                var hans = currencyChangeOMat.options[i].text;
                hans     = hans.substr(hans.indexOf(' ')+1);
                if ( hans.length == 1 ) {
                    $('viewCurrency').innerHTML = currencyChangeOMat.options[i].text;
                } else {
                    $('viewCurrency').innerHTML = hans;
                }
                break;
            }
        }
        return false;
    }

    if ( typeof(handleChangeLanguageOrCurrency)=="function" ) {
        var returnValue = handleChangeLanguageOrCurrency(useLang,languageChangeOMat,useCurrency,currencyChangeOMat,popup);
        if (currencyChangeOMat) {
        for (i=0;i<currencyChangeOMat.options.length;i++) {
            if ( currencyChangeOMat.options[i].value == useCurrency.value ) {
                var hans = currencyChangeOMat.options[i].text;
                hans     = hans.substr(hans.indexOf(' ')+1);
                if ( hans.length == 1 ) {
                    $('viewCurrency').innerHTML = currencyChangeOMat.options[i].text;
                } else {
                    $('viewCurrency').innerHTML = hans;
                }
                break;
            }
        }
        }
        return returnValue;
    }

    if (currencyChangeOMat) $('viewCurrency').innerHTML = '<img src="/img/loading.gif" alt="...">';

    return true;
}

/**
 * resetChangeLanguageOrCurrency
 * 
 * @access public
 * @param void
 * @return bool
 */
function resetChangeLanguageOrCurrency() {
    var useLang             = document.getElementById('useLang');
    var languageChangeOMat  = document.getElementById('LanguageChange-O-Mat');
    var useCurrency         = document.getElementById('useCurrency');
    var currencyChangeOMat  = document.getElementById('CurrencyChange-O-Mat');
    var popup               = document.getElementById('languageCurrencyChange');
    
    popup.style.overflow    = 'hidden';
    popup.style.top         = '34px';
    popup.style.left        = '780px';
    popup.style.width       = '200px';
    popup.style.height      = '91px';
    popup.style.display     = '';

    var morph = new Fx.Morph('languageCurrencyChange');
    morph.start({width:'0px',height:'0px',left:'980px'});
    if (!(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.substring(0,1)<7)) {
        $('languageCurrencyChange').fade(0);
    }
    for (i=0;i<languageChangeOMat.options.length;i++) {
        if ( languageChangeOMat.options[i].value == useLang.value ) {
            languageChangeOMat.options[i].selected = true;
            break;
        }
    }

    if (currencyChangeOMat) {
    for (i=0;i<currencyChangeOMat.options.length;i++) {
        if ( currencyChangeOMat.options[i].value == useCurrency.value ) {
            currencyChangeOMat.options[i].selected = true;
            var hans = currencyChangeOMat.options[i].text;
            hans     = hans.substr(hans.indexOf(' ')+1);
            if ( hans.length == 1 ) {
                $('viewCurrency').innerHTML = currencyChangeOMat.options[i].text;
            } else {
                $('viewCurrency').innerHTML = hans;
            }
            break;
        }
    }
    }

    return false;
}

/**
 * openHelp
 *
 * @access public
 * @param string url
 * @return bool
 */
function openHelp(url) {
    document.getElementById('in_help_layer').src = url;
    if ( $('help_layer').getStyle('display') == 'none' || $('help_layer').getStyle('visibility') == 'hidden') {
        $('help_layer').fade('hide');
        $('help_layer').setStyle('display','block');
        $('help_layer').fade('in');
    }
    return false;
}

/**
 * closeHelp
 *
 * @access public
 * @param void
 * @return bool
 */
function closeHelp() {
    $('help_layer').fade('out');
    return false;
}

/**
 * getId
 * 
 * @access public
 * @param string id
 * @return object|null
 */
function getId(id) {
    if ( $(id) && typeof($(id))=="object" && $(id) != null && $(id) != false ) {
        return $(id);
    }
    return null;
}

/**
 * trim
 *
 * @access public
 * @param string
 * @return string
 */
function trim(s) {
    return s.replace(/^\s*/,'').replace(/\s*$/,'');
}

/**
 * buttonImageChange
 *
 * @access public
 * @param string id
 * @param string img
 * @return void
 */
function buttonImageChange(id,img) {
    $(id).set('src',img);
}

/**
 * checkPasswordSecurity
 *
 * @see class.InputChecks.php::checkPasswordSecurity
 * @access public
 * @param string strPassword
 * @return int
 */
function checkPasswordSecurity(strPassword) {
    if ( !strPassword ) return 0;
    var intReturn  = 1;

    /**
     * Komplexititaetscheck
     */
    if ( strPassword.length < 8 ) intReturn = 2;
    else if ( strPassword.match( /^[0-9]+$/ ) ) intReturn = 4;
    else if ( strPassword.match( /^[a-z]+$/ ) ) intReturn = 4;
    else if ( strPassword.match( /^[A-Z]+$/ ) ) intReturn = 4;
    else if ( strPassword.match( /^[a-zA-Z]+$/ ) ) intReturn = 6;
    else if ( strPassword.match( /^[a-z0-9]+$/ ) ) intReturn = 6;
    else if ( strPassword.match( /^[A-Z0-9]+$/ ) ) intReturn = 6;
    else if ( strPassword.match( /^[a-zA-Z0-9]+$/ ) ) intReturn = 8;
    else intReturn = 10;

    /**
     * zaehle wiederholungen von Zeichen
     */
    arrCount   = {};
    arrChars   = strPassword.split('');
    for (i in arrChars) {
        var strChar = arrChars[i];
        if ( typeof(arrCount[strChar])=="undefined" ) arrCount[strChar] = 0;
        arrCount[strChar]++;
    }
    delete arrCount[''];

    /**
     * werte Wiederholungen von Zeichen aus
     * Zeichen: a-zA-Z0-9
     */
    var intLength  = strPassword.length;
    var boolRepeat = false;
    var boolCount  = false;
    for ( strChar in arrCount ) {
        var intInterval = arrCount[strChar];

        if ( !strChar.match( /^[a-zA-Z0-9]$/ ) ) continue;
       
        var regex = '/'+strChar+'{4,}/';
        if ( strPassword.match( regex ) && !boolRepeat ) {
            intReturn  = parseInt( intReturn * 0.65 );
            boolRepeat = true;
        }
        
        var regex = '/'+strChar+'{3,}/';
        if ( strPassword.match( regex ) && !boolRepeat ) {
            intReturn  = parseInt( intReturn * 0.7 );
            boolRepeat = true;
        }
        
        var regex = '/'+strChar+'{2,}/';
        if ( strPassword.match( regex ) && !boolRepeat ) {
            intReturn  = parseInt( intReturn * 0.75 );
            boolRepeat = true;
        }
        
        if ( ( (intInterval / intLength * 100) > 33) && !boolCount ) {
            intReturn  = parseInt( intReturn * 0.8);
            boolCount  = true;
        }
    }

    /**
     * werte Laenge des Passwortes aus
     */
    intReturn = parseInt( intReturn * ( intLength / 6 ) );

    /**
     * Bewertung zwischen 1 und 10 halten
     */
    if ( intReturn > 10 ) intReturn = 10;
    else if ( intReturn < 1 ) intReturn = 1;

    return intReturn;
}

/**
 * pre loading images
 */
var pleasewaitbg    = document.createElement('img'); pleasewaitbg.src = '/img/common/please_wait_bg.jpg';
var domaincheckbg   = document.createElement('img'); domaincheckbg.src = '/img/de/domaincheck/please_wait_overlay.png';
var domaincheckwait = document.createElement('img'); domaincheckwait.src = '/img/common/waitball.gif';
var loading         = document.createElement('img'); loading.src = '/img/loading.gif';

/**
 * extendSession
 *
 * @access public
 * @param void
 * @return void
 */
function extendSession() {
    var session_id  = trim( $('extend_session_id').get('html') );
    if ( session_id.length == 32 ) {
        var urlFile     = '/ajax/extend_session.php?session_id='+session_id;
        var req         = new Request.JSON({
            url:        urlFile,
            onSuccess:  function(objJSON) { setTimeout('extendSession();', 30 * 60 * 1000 ); }
        }).send();
    }
}

function orderlimitExceeded () {
        var blend = document.getElementById('orderlimit_blend');
        var divOrderlimit = document.getElementById('orderlimit_exceeded');
        var txt = document.getElementById('orderlimit_exceeded_text');
        if (navigator.appName.indexOf("Internet Explorer") != -1) {
            blend.setStyle('position','absolute');
        } else {
            blend.setStyle('position','relative');
        }

        blend.setStyle('visibility','visible');
        blend.setStyle('display','block');
        blend.setStyle('top','0px');
        blend.setStyle('left','265px');
        blend.setStyle('width','725px');

        divOrderlimit.setStyle('visibility','visible');
        divOrderlimit.setStyle('display','block'); 
        txt.setStyle('visibility','visible');
        txt.setStyle('display','block');
        
     }

function orderlimitIsExceeded () {
    var blend = $('orderlimit_is_exceeded_blend');
    var divOrderlimit = $('orderlimit_is_exceeded');
    var txt = $('orderlimit_is_exceeded_text');
    if (navigator.appName.indexOf("Internet Explorer") != -1) {
        blend.setStyle('position','absolute');
    } else {
        blend.setStyle('position','relative');
    }

    blend.setStyle('background-color','#fff');
    blend.setStyle('visibility','visible');
    blend.setStyle('display','block');
    blend.setStyle('top','0px');
    blend.setStyle('left','265px');
    blend.setStyle('width','725px');

    divOrderlimit.setStyle('visibility','visible');
    divOrderlimit.setStyle('display','block'); 
    txt.setStyle('visibility','visible');
    txt.setStyle('display','block');
    
 }

/**
 * start extendSession in 1800 sec.
 */
setTimeout('extendSession();', 30 * 60 * 1000 );

//-->

