var menuLinkMap =new Array();
for(i=0;i<menu.length;i++){
    menuLinkMap[menu[i]]=links[i];
}

var leftActivTab;

//objects
function Item(nazwa,link){
    this.nazwa=nazwa;
    this.link=link;
}

function Kategoria(nazwa,podkategorie){
    this.nazwa=nazwa;
    this.podkategorie=podkategorie;
}

function switchPortletTab(id){
    var tabIdTmp=id.split('_');
    var tabId=tabIdTmp[1];
    var portletTab=document.getElementById(tabId);
    portletId=tabId.split('-');
    hidePortletTabs(portletId[0]);
    portletTab.style.display='block';
    var currentButton=document.getElementById(id);
    currentButton.className='portlet-button-active';
}

function hidePortletTabs(id){
    var portlet=document.getElementById(id);
    var buttonsTmp=portlet.getElementsByClassName('portlet-buttons');
    var buttons=buttonsTmp[0].getElementsByTagName('div');
    for(i=0;i<buttons.length;i++) {
        buttons[i].className='portlet-button-inactive';
        buttons[i].style.cursor='pointer';
        buttons[i].onclick = function () {
            switchPortletTab(this.id)
        };
    }

    var tabs=portlet.getElementsByClassName('portlet-body');
    for(i=0;i<tabs.length;i++) {
        tabs[i].style.display='none';
    }

}

function showTopMenu() {
    var d=document;
    var menuWidth=0;
    var menuItemsNumber=0;
    var menuContent=d.getElementById('top-menu-content-id');
    for(i=0;i<menu.length;i++) {
        menuItemsNumber++;
        var menuItem=d.createElement("div");
        var separator=d.createElement("div");
        menuItem.className="top-menu-content-txt";
        separator.className="top-menu-separator";

        var menuItemText=d.createElement('div');
        menuItemText.className='menuItem-Text';
        menuItemText.id=menu[i]+'-menuItem-Text';
        menuItemText.innerHTML=menu[i];
        var menuItemSubMenu=d.createElement('div');
        menuItemSubMenu.className='menuItemSubMenu';
        menuItemSubMenu.id=menu[i]+'-subMenu';

        menuItem.appendChild(menuItemText);
        menuItem.appendChild(menuItemSubMenu);

        menuItem.id=menu[i];
        if(menuLinkMap[menu[i]]!='#'){
            menuItem.style.cursor='pointer';
        }else{
            menuItem.style.cursor='default';
        }
        var tmp= menu[i];
        menuItem.onclick = function () {
            changeTopButton(this.id)
        };
        if(topActiveTab!=null){
            if(topActiveTab == menu[i]){
                menuItem.style.color='#f15922';
            }else{
                menuItem.style.color='#5c5c5c';
            }
        }
        menuContent.appendChild(menuItem);

        if(i<menu.length-1){
            menuContent.appendChild(separator);
            menuWidth=menuWidth+2;
        }
        menuWidth=menuWidth+menuItem.offsetWidth

    }
    var menuSpaceWidth=d.getElementById('top-menu-content-id').offsetWidth;

    var widthSize=(menuSpaceWidth-menuWidth)/menuItemsNumber;
    var addedManuItems=d.getElementsByClassName('top-menu-content-txt');
    if(addedManuItems){
        for(i=0;i < addedManuItems.length;i++) {
            var width = addedManuItems[i].offsetWidth+Math.floor(widthSize)+'px';
            addedManuItems[i].style.width=width;

            //generowanie  submenu

            if(subMenu[menu[i]]!= null){

                var submenuItems=subMenu[menu[i]];
                var submenuLinks=subMenuLinks[menu[i]];
                var mainMenu=d.getElementById(menu[i]);
                var mainMenuItem=d.getElementById(menu[i]+'-menuItem-Text');
                var subMenuItemDIV=d.getElementById(menu[i]+'-subMenu');

                subMenuItemDIV.onmouseover= function(){
                    mcancelclosetime()
                } ;
                subMenuItemDIV.onmouseout= function(){
                    mclosetime()
                };

                var tmp= menu[i];

                mainMenuItem.onmouseover= function () {
                    mopen(this.id)
                };
                mainMenuItem.onmouseout= function () {
                    mclosetime()
                };

                for(j=0;j<submenuItems.length;j++) {
                    if(submenuLinks[j]!=null && submenuLinks[j].length && submenuLinks[j]!='#'){
                        var subMenuItem=d.createElement("a");
                        subMenuItem.href=submenuLinks[j];
                        subMenuItem.innerHTML=submenuItems[j];
                        subMenuItemDIV.appendChild(subMenuItem);
                    }else{
                        var subMenuItem=d.createElement("div");
                        subMenuItem.style.cursor='default';
                        subMenuItem.innerHTML=submenuItems[j];
                        subMenuItemDIV.appendChild(subMenuItem);
                    }
                }
                mainMenu.appendChild(subMenuItemDIV);
            }
        }
    }
}


function changeTopButton(id){
    if(menuLinkMap[id]!='#'){
        var activeMenuItem = document.getElementById(id);
        if(activeMenuItem){
            var disactiveMenuItem = document.getElementById(topActiveTab);
            if(topActiveTab){
                if(activeMenuItem!=disactiveMenuItem){
                    activeMenuItem.style.color='#f15922';
                    disactiveMenuItem.style.color='#5c5c5c';
                    topActiveTab = id;
                }
            }
            window.location=menuLinkMap[id];
        }
    }
}

function showPortletsMenu(){
    var portlets=document.getElementsByClassName('menu-portlet');
    for(i=0;i<portlets.length;i++) {
        var currentId=portlets[i].id;
        var portletTabs=portlets[i].getElementsByClassName('portlet-body');
        var portletButton=portlets[i].getElementsByClassName('portlet-buttons')[0];
        if(portletTabs[0]){
            portletTabs[0].style.display='block';
        }
        for(j=0;j<portletTabs.length;j++){
            if(portletTabs.length>1){
                if(j==0){
                    portletTabs[j].style.display='block';
                    var button=document.createElement('div');
                    button.className='portlet-button-active';
                    button.id='portlet-button_'+currentId+'-'+(j+1);
                    button.innerHTML=j+1;
                    portletButton.appendChild(button);
                }else{
                    var button=document.createElement('div');
                    button.className='portlet-button-inactive';
                    button.innerHTML=j+1;
                    button.style.cursor='pointer';
                    button.id='portlet-button_'+currentId+'-'+(j+1);
                    button.onclick = function () {
                        switchPortletTab(this.id)
                    };
                    portletButton.appendChild(button);
                }
            }
        }
    }
}


var timeout         = 150;
var closetimer	    = 0;
var ddmenuitem      = 0;

// open hidden layer
function mopen(id){
    var splitId=id.split('-');
    var openId=splitId[0]+'-subMenu';
    mcancelclosetime();
    if(ddmenuitem){
        ddmenuitem.style.visibility = 'hidden';
        ddmenuitem.style.display = 'none';
        ddmenuitem.style.height='0px';
        ddmenuitem.style.width='0px';
    }

    ddmenuitem = document.getElementById(openId);
    ddmenuitem.style.visibility = 'visible';
    ddmenuitem.style.display = 'block';
    ddmenuitem.style.height='';
    ddmenuitem.style.width='';

}

function mclose()
{
    if(ddmenuitem){
        ddmenuitem.style.visibility = 'hidden';
        ddmenuitem.style.display = 'none';
        ddmenuitem.style.height='0px';
        ddmenuitem.style.width='0px';
    }
}


function mclosetime(){
    closetimer = window.setTimeout(mclose, timeout);
}

function mcancelclosetime(){
    if(closetimer)
    {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

//lewe menu 'drzewo kategorii'



function showSubCategories(id){
    var split = id.split('-');
    var cat = split[0];
    var catDiv = document.getElementsByClassName(cat+' subCategory');

    for(i=0;i<catDiv.length;i++){
        if(catDiv[i].style.display!='block'){
            catDiv[i].style.display='block';
        }else{
            catDiv[i].style.display='none';
        }
    }
}

function goTo(url){
    window.location=url;
}


var random = get_random();
function setCaptcha(){
    var captchaImg= $('captcha-img');
    if(captchaImg){
        captchaImg.src='/jcaptcha?salt='+random;
        var saltInput=$('salt-input');
        saltInput.value=random;
    }
}

function validate_questionary_1(){
    var name= $('name').value;
    var surname= $('surname').value;
    var position= $('position').value;
    var tel= $('tel').value;
    var email= $('email').value;
    var companyName= $('companyName').value;
    var shops = $('shops').value;
    var shopsNumber = $('shopsNumber').value;
    var clientType = $('clientType').value;
    var shopNumberBox = $('shopNumberBox').style.visibility;

    var nameError= $('name-error');
    var surnameError= $('surname-error');
    var positionError= $('position-error');
    var telError= $('tel-error');
    var emailError= $('email-error');
    var emailErrorEmpty= $('email-error-empty');
    var messageError= $('message-error');
    var companyNameError= $('companyName-error');
    var clientError= $('client-error');
    var shopsError= $('shops-error');
    var shopsNumberError= $('shopsNumber-error');
    var invalidShopsNumberError= $('invalid-shopsNumber-error');

    var nameStat;
    var surnameStat;
    var positionStat;
    var telStat;
    var emailStat;
    var companyNameStat;
    var shopsStat;
    var shopsNumberStat;
    var clientTypeStat;

    if(name != null && name.length>0){
        nameStat=true;
        hideError('name');
    }else{
        nameStat=false;
        dispalyError('name');
    }
    if(surname != null && surname.length>0){
        surnameStat=true;
        hideError('surname');
    }else{
        surnameStat=false;
        dispalyError('surname');
    }
    if(position != null && position.length>0){
        positionStat=true;
        hideError('position');
    }else{
        positionStat=false;
        dispalyError('position');
    }
    if(tel != null && tel.length>0){
        var telValid = /^-?\d+$/.test(tel);
        if(!telValid){
            telError.style.display='block';
            telStat=false;
        }else{
            telError.style.display='none';
            telStat=true;
        }
    }else{
        //!!!
        telStat=true;
    }
    if(email != null  && email.length > 0){
        if(checkEmail(email)){
            emailError.style.display='none';
            emailErrorEmpty.style.display='none';
            emailStat=true;
        }else{
            emailErrorEmpty.style.display='none';
            emailError.style.display='block';
            emailStat=false;
        }
    }else{
        emailError.style.display='none';
        emailErrorEmpty.style.display='block';
        emailStat=false;
    }
    if(companyName != null && companyName.length>0){
        companyNameStat=true;
        hideError('companyName');
    }else{
        companyNameStat=false;
        dispalyError('companyName');
    }
    if(shops != null && shops.length>0){
        shopsStat=true;
        hideError('shops');
    }else{
        shopsStat=false;
        dispalyError('shops');
    }
    if(shopNumberBox == 'visible'){
        if(shopsNumber != null && shopsNumber.length>0){
        var shopsNumberValid = /^-?\d+$/.test(shopsNumber);
        if(!shopsNumberValid){
            invalidShopsNumberError.style.display='block';
             shopsNumberStat=false;
        }else{
            invalidShopsNumberError.style.display='none';
            shopsNumberStat=true;
        }
            shopsNumberStat=true;
            hideError('shopsNumber');
        }else{
            shopsNumberStat=false;
            dispalyError('shopsNumber');
        }
    }else{
        shopsNumberStat=true;
    }
    if(clientType != null && clientType.length>0){
        clientTypeStat=true;
        hideError('clientType');
    }else{
        clientTypeStat=false;
        dispalyError('clientType');
    }

    if(nameStat && surnameStat && positionStat && emailStat && telStat &&
        companyNameStat && shopsStat && shopsNumberStat && clientTypeStat ){
        return true;
    }else{
        return false;
    }
    

    
}

function validate_questionary_2(numberOfShops){
    var valid = false;

    for(i=1;i<=numberOfShops;i++){
        shopNr = i;
        var city=$('city-'+shopNr).value;
        var street=$('street-'+shopNr).value;
        // var mallName=$('mallName-'+shopNr);
        var shopType=$('shopType-'+shopNr).value;
        var chainName=$('chainName-'+shopNr).value;
        var shopKind=$('shopKind-'+shopNr).value;
        var area=$('area-'+shopNr).value;
        var photo=$('photo-'+shopNr).value;

        var cityError=$('city-'+shopNr+'-error');
        var streetError=$('street-'+shopNr+'-error');
        //var mallNameError=$('mallName-'+shopNr+'-error');
        var shopTypeError=$('shopType-'+shopNr+'-error');
        var chainNameError=$('chainName-'+shopNr+'-error');
        var shopKindError=$('shopKind-'+shopNr+'-error');
        var areaError=$('area-'+shopNr+'-error');
        var photoError=$('photo-'+shopNr+'-error');

        var chainBoxVisibility = $('chainBox-'+shopNr).style.visibility;

        var cityStat;
        var streetStat;
        //var mallNameStat;
        var shopTypeStat;
        var chainNameStat;
        var shopKindStat;
        var areaStat;
        var photoStat;

        if(city != null && city.length>0){
            cityStat=true;
            hideError('city-'+shopNr);
        }else{
            cityStat=false;
            dispalyError('city-'+shopNr);
        }
        if(street != null && street.length>0){
            streetStat=true;
            hideError('street-'+shopNr);
        }else{
            streetStat=false;
            dispalyError('street-'+shopNr);
        }
        /*
        if(mallName != null && mallName.length>0){
            mallNameStat=true;
            hideError('mallName-'+shopNr);
        }else{
            mallNameStat=false;
            dispalyError('mallName-'+shopNr);
        }
        */
        if(shopType != null && shopType.length>0){
            shopTypeStat=true;
            hideError('shopType-'+shopNr);
        }else{
            shopTypeStat=false;
            dispalyError('shopType-'+shopNr);
        }
        if(chainBoxVisibility=='visible'){
            if(chainName != null && chainName.length>0){
                chainNameStat=true;
                hideError('chainName-'+shopNr);
            }else{
                chainNameStat=false;
                dispalyError('chainName-'+shopNr);
            }
        }else{
            chainNameStat=true;
        }
        if(shopKind != null && shopKind.length>0){
            shopKindStat=true;
            hideError('shopKind-'+shopNr);
        }else{
            shopKindStat=false;
            dispalyError('shopKind-'+shopNr);
        }
        if(area != null && area.length>0){
            areaStat=true;
            hideError('area-'+shopNr);
        }else{
            areaStat=false;
            dispalyError('area-'+shopNr);
        }
        if(photo != null && photo.length>0){
            photoStat=true;
            hideError('photo-'+shopNr);
        }else{
            photoStat=false;
            dispalyError('photo-'+shopNr);
        }

        if(cityStat && streetStat &&  shopTypeStat && chainNameStat &&
            shopKindStat && areaStat && photoStat){
            valid = true;
        }else{
            valid = false;
        }

    }

    return valid;
}

function show_shopNumberBox(){
    var shopNumberBox = $('shopNumberBox');
    var shops = $('shops').value;
    if(shops == 'Tak'){
        shopNumberBox.style.visibility = 'visible';
    }else{
        shopNumberBox.style.visibility = 'hidden';
    }
}

function show_chainBox(id, number){
    var chainBox = $('chainBox-'+number);
    var isChain = $(id).value;
    if(isChain == 'Tak'){
        chainBox.style.visibility = 'visible';
    }else{
        chainBox.style.visibility = 'hidden';
    }
}

function dispalyError(id){
    var error = $(id + '-error');
    error.style.display='block';
}
function hideError(id){
    var error = $(id + '-error');
    error.style.display='none';
}


function validate_form(){

    var name= $('name').value;
    var surname= $('surname').value;
    var companyName= $('companyName').value;
    var tel= $('tel').value;
    var email= $('email').value;
    var message= $('message').value;
    var captcha=$('captcha').value;

    var nameError= $('name-error');
    var surnameError= $('surname-error');
    var companyNameError= $('companyName-error');
    var telError= $('tel-error');
    var emailError= $('email-error');
    var emailErrorEmpty= $('email-error-empty');
    var messageError= $('message-error');
    var captchaError=$('captcha-error');

    var n;
    var s;
    var co;
    var e;
    var m;
    var ca;
    var ok;

    //if(name != null && name.length>0){
    n=true;
    //}else{
    //    n=false;
    // }
    if(surname != null && surname.length>0){
        s=true;
    }else{
        s=false;
    }
    if(companyName != null && companyName.length>0){
        co=true;
    }else{
        co=false;
    }
    
    if(!n && !s &&!co){
        ok=false;
        //nameError.style.display='block';
        surnameError.style.display='block';
        companyNameError.style.display='block';
    }
    if(!n && !s && co){
        ok=true;
        //nameError.style.display='none';
        surnameError.style.display='none';
        companyNameError.style.display='none';
    }
    if(!n && s &&!co){
        ok=false;
        //nameError.style.display='block';
        surnameError.style.display='none';
        companyNameError.style.display='block';
    }
    if(n && !s &&!co){
        ok=false;
        //nameError.style.display='none';
        surnameError.style.display='block';
        companyNameError.style.display='block';
    }
    if(n && s &&!co){
        ok=true;
        //nameError.style.display='none';
        surnameError.style.display='none';
        companyNameError.style.display='none';
    }
    if(!n && s && co){
        ok=true;
        //nameError.style.display='none';
        surnameError.style.display='none';
        companyNameError.style.display='none';
    }
    if(n && !s && co){
        ok=true;
        //nameError.style.display='none';
        surnameError.style.display='none';
        companyNameError.style.display='none';
    }
    if(n && s && co){
        ok=true;
        //nameError.style.display='none';
        surnameError.style.display='none';
        companyNameError.style.display='none';
    }



    if(email != null  && email.length > 0){
        if(checkEmail(email)){
            emailError.style.display='none';
            emailErrorEmpty.style.display='none';
            e=true;
        }else{
            emailErrorEmpty.style.display='none';
            emailError.style.display='block';
            e=false;
        }
    }else{
        emailError.style.display='none';
        emailErrorEmpty.style.display='block';
        e=false;
    }



    if(message != null && message.length>0){
        messageError.style.display='none';
        m=true;
    }else{
        messageError.style.display='block';
        m=false;
    }
    
    
    if(captcha != null && captcha.length>0){
        captchaError.style.display='none';
        var pars = 'captcha='+captcha+'&name='+name+'&surname='+surname+'&companyname='+companyName+'&tel='+tel+'&email='+email+'&message='+message+'&salt='+random;
        var url = '/contact';
        new Ajax.Request(url, {
            method: 'post',
            parameters: pars,
            onSuccess: function(transport) {
                
                if(transport.responseText=='error'){
                    window.location.reload();
                }
                if(transport.responseText=='ok'){
                    var form=document.getElementById('contact-form');
                    var result=document.getElementById('contact-form-result');
                    form.style.display='none';
                    form.style.visibility='hidden';
                    form.style.width='0px';
                    form.style.height='0px';

                    result.style.display='block';
                    result.style.visibility='';
                }
                ca=true;
            }
        });
       
    // ca=true;
    }else{
        captchaError.style.display='block';
        ca=false;
    }

    if(ok && e && m && ca ){
        return true;
    }else{
        return false;
    }
    
}

function checkEmail(email) {
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        return false;
    }else{
        return true;
    }
}

function get_random()
{
    var d=new Date();
    return d.getTime();
}
function showCatogoryTree(){
    jQuery(document).ready(function(){
        jQuery("#navigation").treeview({
            //animated: "fast",
            collapsed: true,
            //unique: true,
            persist: "local"
        //persist: "cookie"
        });
    });
}

function scrollPromoPortlet(){
    var promoPortlet=document.getElementsByClassName('center-right-portlet');
    var promoId;
    if(promoPortlet.length > 0){
        var portletButtons=promoPortlet[0].getElementsByClassName('portlet-buttons');
        var promos=portletButtons[0].getElementsByTagName('div');
        var aciveButton=portletButtons[0].getElementsByClassName('portlet-button-active');
        if(aciveButton[0]){
            var tmp=aciveButton[0].id.split('-');
            aciveButtonNumber=tmp[2];
            activeButtons=promos.length;
            if(aciveButtonNumber>=activeButtons){
                aciveButtonNumber=0;
            }
            switchPortletTab(promos[aciveButtonNumber].id);
        }
    }
}
function scrollPromotedPortlet(){
    var promoPortlet=document.getElementsByClassName('center-left-portlet');
    var promoId;
    if(promoPortlet.length > 0){
        var portletButtons=promoPortlet[0].getElementsByClassName('portlet-buttons');
        var promos=portletButtons[0].getElementsByTagName('div');
        var aciveButton=portletButtons[0].getElementsByClassName('portlet-button-active');
        if(aciveButton[0]){
            var tmp=aciveButton[0].id.split('-');
            aciveButtonNumber=tmp[2];
            activeButtons=promos.length;
            if(aciveButtonNumber>=activeButtons){
                aciveButtonNumber=0;
            }
            switchPortletTab(promos[aciveButtonNumber].id);
        }
    }
}

function scrollPromoTabs(time){
    t=setInterval("scrollPromoPortlet()",time);
}
function scrollPromotedTabs(time){
    t=setInterval("scrollPromotedPortlet()",time);
}

showTopMenu();
showPortletsMenu();
showCatogoryTree();
document.onclick = mclose;
//zmiana zakladek promocji co 5 sekund.
scrollPromoTabs(5000);
scrollPromotedTabs(5000);