/* #################################################################
Copyright © 2008 BBB Systems, LLC, All rights reserved
################################################################## */
var globals = new Array( );
var ajaxEnabled = false;
window.css_rules = new Array( );
window.js_initialized = false;
if(window.special_init){ window.load_function = special_init; }
else{ window.load_function = function( ){ init( ); } }

if(document.addEventListener){
    document.addEventListener('DOMContentLoaded', function( ){ window.load_function( ); }, false);
    document.addEventListener('load', function( ){ window.load_function( ); }, false);
}
else if(document.attachEvent){ document.attachEvent('onreadystatechange', function( ){ window.load_function( ); }); }
else if(window.onload){ window.onload = function( ){ window.load_function( ); } }

function init( ){
    if(window.js_initialized){ return; }
    window.js_initialized = true;
    if(!document.getElementsByTagName){ return; }
    if(ajaxEnabled){ createWorkNode( ); ajaxCheck( );}
    initCSSRules( );
    initA( );
    resizeListings( );
    initGoogleMapFrame( );
    createWorkNode( );
    init_listingLookup( );
    window.onresize = resizeListings;

    init_g_list( );

    init_new_account_link( );

}
function xmlInit( ){}

function init_new_account_link( ){
    var lnk = document.getElementById('a_login_new_member');
    if(!lnk){return;}
    lnk.onclick = open_signup_form;

    var lnk2 = document.getElementById('a_signup_new_member');
    if(!lnk2){return;}
    lnk2.onclick = open_login_form;
}
function open_signup_form( ){
    var frm = document.getElementById('signup_form');
    if(!frm){return false;}
    frm.style.display = 'block';

    var frm2 = document.getElementById('login_form');
    if(!frm2){return false;}
    frm2.style.display = 'none';

    return false;
}
function open_login_form( ){
    var frm = document.getElementById('login_form');
    if(!frm){return false;}
    frm.style.display = 'block';

    var frm2 = document.getElementById('signup_form');
    if(!frm2){return false;}
    frm2.style.display = 'none';

    return false;
}

function initCSSRules( ){
    if(document.styleSheets[0].cssRules){ window.css_rules = document.styleSheets[0].cssRules; }
    else if(document.styleSheets[0].rules){ window.css_rules = document.styleSheets[0].rules; }
    else{window.css_rules = null;}

    globals['listing_pad'] = 0;
    globals['listing_td_pad'] = 0;
    if(css_rules){
        for(var i = 0; i < css_rules.length; i++){
            if(css_rules[i].selectorText.toLowerCase() == '.lcontainer td'){
                var pad = parseInt(css_rules[i].style.padding);
                if(pad != NaN && pad > 0){
                    globals['listing_td_pad'] = pad;
                }
            }
            if(css_rules[i].selectorText.toLowerCase() == '.listing'){
                var pad = parseInt(css_rules[i].style.padding);
                if(pad != NaN && pad > 0){
                    globals['listing_pad'] = pad;
                }
            }
        }
    }
}

function refresh_simg(imgID){
    var img = document.getElementById(imgID);
    if(img){
        var isrc = img.src.toString( );
        isrc = isrc.replace(/\&.*$/, '');
        img.src = isrc + '&rand=' + Math.random();
    }
}

function createWorkNode( ){
    var div = document.createElement('div');
    div.id = 'workNode';
    document.body.appendChild(div);
}

function resizeListings( ){
    var list_ids = new Array('premium_listings', 'standard_listings');
    var divs = null;

    for(var cnt = 0; cnt < list_ids.length; cnt++){
        var obj = document.getElementById(list_ids[cnt]);
        if(!obj){ continue; }
        divs = obj.getElementsByTagName('div');

        var min_height = 0;
        var max_height = 0;
        for(var i = 0; i < divs.length; i++){
            var d = divs[i];
            d.style.height = 'auto';
            if(d.className == 'listing_inner'){
                var cheight = d.parentNode.clientHeight > 0 ? d.parentNode.clientHeight : d.parentNode.offsetHeight;
                if(min_height == 0){min_height = cheight;}
                if(cheight < min_height){ min_height = cheight; }
                if(cheight > max_height){ max_height = cheight; }
            }
        }
        if(min_height < max_height){
            for(var i = 0; i < divs.length; i++){ if(divs[i].className == 'listing_inner'){ divs[i].style.height = max_height + 'px'; } }
        }
    }
}

function initGoogleMapFrame( ){
    var state = document.getElementById('g_x_state');
    var lid = document.getElementById('g_x_id');
    var mhost = document.getElementById('g_x_mhost');
    var map_container = document.getElementById('biz_listing_map_container');
    if(map_container && state && lid && mhost){//changeme
        state = state.value;
        lid = lid.value;
        mhost = mhost.value
        var iframe_html = '<div class="rounded_block">'
        iframe_html += '<iframe src="' + mhost + '/listing_map_frame.php?state=' + state + '&pid=' + lid + '" id="biz_listing_map" frameborder="0"></iframe>';
        iframe_html += '</div>';
        map_container.innerHTML = iframe_html;
    }
}

function initA( ){
    var content = document.getElementById('content');
    if(!content){return;}
    var as = content.getElementsByTagName("a");
    for(var i = 0; i < as.length; i++){
        if(!as[i].href){continue;}
        var hostnm = as[i].href.replace(/^http(s)?\:\/\/([^\/]+).*$/, "$2");
        if(!hostnm.match(/voice/)){as[i].target = "_blank";}
    }
}
function generalPopUp(loc, w, h){gPopUp = window.open(loc, "gpopup", "width=" + w + ",height=" + h + ", scrollbars=0, status=no,toolbar=no,resizable=yes");gPopUp.focus( );}
function setCookie(cookieName,cookieValue){
    var dateNow = new Date( );
    var expire = new Date();
    expire.setTime(dateNow.getTime() + 7200000);
    document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString( ) + ";path=/";
}

function getCookie(cname){
    var dc = document.cookie;
    var prefix = cname + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1){ begin = dc.indexOf(prefix); if (begin != 0) return null; }
    else{ begin += 2; }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1){ end = dc.length; }
    return unescape(dc.substring(begin + prefix.length, end));
}

function init_listingLookup( ){
    var l_lookup_form = document.getElementById('l_lookup_form');
    var listing_app_form = document.getElementById('listing_app_form');
    if(!l_lookup_form || !listing_app_form){return;}
    l_lookup_form.onsubmit = function( ){
        listingLookup( );
        return false;
    }
}

//l_code_g
function init_g_list( ){ listingLookup_g( );}
function listingLookup_g( ){
    var l_code = document.getElementById('l_code_g');
    if(!l_code){return;}
    l_code = escape(l_code.value);
    var url = '/ajax.php?type=listing_lookup&l_code=' + l_code + '&rand=' + Math.random();
    b_xml.request(url, 'GET', listingAjaxComplete);
    return false;
}

function listingLookup( ){
    var l_lookup_form = document.getElementById('l_lookup_form');
    var l_code = document.getElementById('l_code');
    var l_code_state = document.getElementById('l_code_state');
    if(!l_lookup_form || !l_code || !l_code_state){return;}

    l_code = escape(l_code.value);
    l_code_state = escape(l_code_state.options[l_code_state.selectedIndex].value);
    var url = '/ajax.php?type=listing_lookup&l_code=' + l_code + '&l_state=' + l_code_state + '&rand=' + Math.random();
    b_xml.request(url, 'GET', listingAjaxComplete);
    return false;
}

function listingAjaxComplete( ){
    var i;
    var xChildren = b_xml.workNode.getElementsByTagName("div")[0].childNodes;

    var l_lookup_error = document.getElementById('l_lookup_error');

    //check for error
    for(i = 0; i < xChildren.length; i++){
        var node = xChildren[i];
        if(node.className == "error"){
            if(l_lookup_error){
                l_lookup_error.innerHTML = node.innerHTML;
                return false;
            }
        }
    }

    l_lookup_error.innerHTML = '&nbsp;';
    //alert(b_xml.workNode.innerHTML);
    //return false;

    for(i = 0; i < xChildren.length; i++){
        var node = xChildren[i];
        var cname = node.className;
        switch(cname){
        case 'l_company_name':
        case 'l_phone':
        case 'l_fax':
        case 'l_website':
        case 'l_email':
        case 'l_street_1':
        case 'l_street_2':
        case 'l_city':
        case 'l_email':
        case 'l_zip':
            var doc_node = document.getElementById(cname);
            if(doc_node){
                var tmp = node.innerText;
                if(!tmp){
                    tmp = node.textContent;
                }
                if(!tmp){
                    tmp = node.innerHTML;
                }

                doc_node.value = tmp;
            }
            break;

       case 'l_state':
            var doc_node = document.getElementById(cname);
            if(doc_node){
                doc_node.value = node.innerHTML;
            }
            if(cname == 'l_state'){
                var l_code_state = document.getElementById('l_code_state');
                if(l_code_state){
                    l_code_state.value = node.innerHTML;
                }
            }
            break;
        case 'l_catid':
            var l_catid = document.getElementById('l_catid');
            if(l_catid){
                l_catid.value = node.innerHTML;
            }

            break;

        case 'l_catname':
            var namel_catid = document.getElementById('namel_catid');
            if(namel_catid){
                namel_catid.value = node.innerHTML;
            }


            break;

        default:
            break;
        }
    }
}

function disableProcessButton( ){
    var pb = document.getElementById('l_process_button');
    if(window.l_process_submitted){
        return false;
    }
    window.l_process_submitted = true;
    if(pb){
        pb.disabled = true;
        pb.style.opacity = .6;
    }
    return true;
}
