/* very first thing to do is to load xml content
function loadContentFile(_fn, _type) {
    var xmlDoc;
    if (window.XMLHttpRequest && navigator.userAgent.indexOf("MSIE 7.0") == -1) {
        xmlHttp = new XMLHttpRequest();
        xmlHttp.open("GET", "content/" + _fn, false);
        xmlHttp.send(null);
        xmlDoc = xmlHttp.responseXML.documentElement;
    } else {
        var xmlDom = new ActiveXObject("Msxml2.DOMDocument.4.0");
        xmlDom.async = false;
        xmlDom.load("content/" + _fn);
        xmlDoc = xmlDom.documentElement;
    }

    var objName = xmlDoc.nodeName;
    var allNodes = xmlDoc.childNodes;
    if (!_type) {
        eval(objName + " = {};");
        for (var i = 0; i < allNodes.length; i++) {
            if (window.ActiveXObject) {
                eval(objName + "." + allNodes[i].nodeName + " = allNodes[i].text");
            } else if (allNodes.item(i).nodeType == "1") {
                eval(objName + "." + allNodes.item(i).nodeName + " = allNodes.item(i).textContent");
            }
        }
    } else if (_type == "array") {
        eval(objName + " = [];");
        var n = 0;
        for (var i = 0; i < allNodes.length; i++) {
            if (!window.ActiveXObject && allNodes.item(i).nodeType != "1") continue;
            eval(objName + ".push({})");
            var allSubNodes = null;
            if (window.ActiveXObject) {
                allSubNodes = allNodes[i].childNodes;
            } else {
                allSubNodes = allNodes.item(i).childNodes;
            }
            for (var j = 0; j < allSubNodes.length; j++) {
                if (window.ActiveXObject) {
                    eval(objName + "[" + i + "]." + allSubNodes[j].nodeName + " = allSubNodes[j].text");
                } else if (allSubNodes.item(j).nodeType == "1") {
                    eval(objName + "[" + n + "]." + allSubNodes.item(j).nodeName + " = allSubNodes.item(j).textContent");
                }
            }
            n++;
        }
    }
}

loadContentFile("mainPage.xml");
loadContentFile("participatingLocations.xml");
loadContentFile("siteSettings.xml");
loadContentFile("rotating.xml","array");
loadContentFile("tabs.xml","array");
*/

/// <reference path="../js/DHTMLAPI.js" />
/// <reference path="../js/popups.js" />

var tabs = [];
var rotating = [];

setInterval("rotateIt()",5000);
rtEl = 0;
function rotateIt() {
    var rT = $('rotatingTable');
    if (rT==null) return;

    if (!rotating[++rtEl]) {
        rtEl = 0;
    }
    rT.rows[0].cells[0].getElementsByTagName("IMG")[0].src = rotating[rtEl].rtImg;
    rT.rows[1].cells[0].innerHTML = rotating[rtEl].rtText;
}

var isIE=(navigator.appName == "Microsoft Internet Explorer");

function isDefined(variable)
{
    return (typeof(eval[variable]) != 'undefined');
}

var i = 0;

while (tabs[i])
{
    if (!tabs[i].tabActive) tabs.splice(i,1);
        else i++;
}

function collapseBenefits(_obj) {
    if (_obj.className.indexOf("collapsed") != -1) {
        _obj.className = _obj.className.replace("collapsed","expanded");
        _obj.getElementsByTagName("span")[0].innerHTML = "&#9660;";
        _obj.parentNode.getElementsByTagName("DIV")[0].style.display = "block";
    } else {
        _obj.className = _obj.className.replace("expanded","collapsed");
        _obj.getElementsByTagName("span")[0].innerHTML = "&#9658;";
        _obj.parentNode.getElementsByTagName("DIV")[0].style.display = "none";
    }
    return false;
}

function selectTab(_obj,_main) {

    if (_obj) {_obj.blur()};

    var i = 0;
    while($("Tab"+i)) {
        $("Tab"+i).className = $("Tab"+i).className.replace("selected","");
        $("contentForTab" + i).style.display = "none";
        i++;
    }
    if ($("Participating")) {
        $("contentForTabParticipating").style.display = "none";
    }

    $("coreContent").style.display = (_main)?"block":"none";

    if (_obj && _obj.id == "Participating") {
        $("contentForTabParticipating").style.display = "block";
    } else if (!_main) {
        if (_obj.parentNode.parentNode.className.indexOf("tab") != -1) _obj.parentNode.parentNode.className += " selected";

        $("contentFor"+_obj.parentNode.parentNode.id).style.display = "block";
/*		if (tabs.length>0)
        {
            $('titleImage').src = (tabs[_obj.parentNode.parentNode.id.replace("Tab","")]) ? tabs[_obj.parentNode.parentNode.id.replace("Tab","")].tabTitleImage : participatedLocations.pLocTitleImage;
        }*/
    }/* else {
       if (main) {
            $('titleImage').src = main.mainTitleImage;
        }
    }*/


    if (isAdmin)
    {
        initEdits();
    }
    return false;
}

// Get layer Y position
function getY (_element)
{
    var y = 0;

    while (_element != null && _element.style.position != 'absolute')
    {
        if (_element.nodeName != 'BODY' && _element.nodeName != 'IMG')
        {
            y += _element.offsetTop - _element.scrollTop;

        }
        else
        {
            y += _element.offsetTop;
        }

        _element = _element.offsetParent;
    }

    return y;
}


// Get layer X position
function getX (_element)
{
    var x = 0;

    while (_element != null)
    {
        if (_element.nodeName != 'BODY' && _element.nodeName != 'IMG')
        {
            x += _element.offsetLeft - _element.scrollLeft;
        }
        else
        {
            x += _element.offsetLeft;
        }

        _element = _element.offsetParent;
    }

    return x;
}

function writeMain()
{
    $("mainContent").innerHTML=('<div id="mainHeader" class="header" >' + main.mainName + '</div><div class="clearLeft">&nbsp;</div>')+
        ('<div id="mainText" class="text">' + main.mainContent + '</div>');
}

function initEdits()
{
     //initializing Under Logo Logo Editor
    editArea=$("underLogoEdit_Area");
    editButton=$("underLogoEdit_Button");
    contentToEdit=$("underLogo");
    editArea.style.width=contentToEdit.offsetWidth + "px";
    editArea.style.height=contentToEdit.offsetHeight - 2 + "px";
    editArea.style.fontSize="1px";
    editButton.style.fontSize="1px";
    label=$("underLogo_label");
    label.style.width=contentToEdit.offsetWidth - 43 + "px";
    editButton.style.left=contentToEdit.offsetWidth - 27 +"px"
    editButton.style.top="-1px"

    //initializing Main Content Editor
    var editArea=$("mainContentEdit_Area");
    var editButton=$("mainContentEdit_Button");
    var contentToEdit=$("coreContent");
    editArea.style.width=contentToEdit.offsetWidth > 25 ? contentToEdit.offsetWidth - 25 + "px" : "0px";
    editArea.style.height=contentToEdit.offsetHeight + "px";
    editArea.style.marginLeft="-8px";
    editArea.style.marginTop="0px";
    editButton.style.left=contentToEdit.offsetWidth - 52 +"px"
    editButton.style.top="-1px";

    //initializing Tab Content Editor
    for (var i=0; i < tabs.length; i++)
    {
        var editArea=$("contentForTab" + i + "Edit_Area");
        var editButton=$("contentForTab" + i + "Edit_Button");
        var contentToEdit=$("contentForTab" + i);

        editArea.style.width="0px";
        editArea.style.height="0px";
        editArea.style.border="0px none"
        contentToEdit.style.border="1px dotted #D3D3D3";
        editButton.style.left=contentToEdit.offsetWidth - 60 +"px";
        editButton.style.top="-1px";
    }

    //initializing Tab Editor
    for (var i=0; i < tabs.length; i++)
    {
        var editArea=$("Tab" + i + "Edit_Area");
        var editButton=$("Tab" + i + "Edit_Button");
        var contentToEdit=$("Tab" + i);

        editArea.style.width=contentToEdit.offsetWidth + "px";
        editArea.style.height=contentToEdit.offsetHeight + "px";
        editArea.style.marginLeft="-1px";
        editArea.style.marginTop="-1px";
        editButton.style.left=contentToEdit.offsetWidth - 27 +"px"
        editButton.style.top="-1px";
    }

    //initializing Top Logo Editor
    editArea=$("topLogoEdit_Area");
    editButton=$("topLogoEdit_Button");
    contentToEdit=$("headerTable");
    editArea.style.width=contentToEdit.offsetWidth - 4 + "px";
    editArea.style.height=contentToEdit.offsetHeight - 4 + "px";
    editArea.style.marginLeft="2px";
    editArea.style.marginTop="2px";
    //editButton.style.left=contentToEdit.offsetWidth - 23 +"px"
    editButton.style.top="-1px"

    //initializing Content For Participating editor
    editArea=$("partLocEdit_Area");
    editButton=$("partLocEdit_Button");
    contentToEdit=$("contentForTabParticipating");
    editArea.style.width="0px";
    editArea.style.height="0px";
    editArea.style.border="0px none"
    contentToEdit.style.border="1px dotted #D3D3D3";
    editButton.style.left=contentToEdit.offsetWidth - 29 +"px";
    editButton.style.top= "-1px";
    editButton.style.display="none";
    editButton.style.display="block";

    //initializing Content For footer editor
    editArea=$("footerEdit_Area");
    editButton=$("footerEdit_Button");
    contentToEdit=$("footer");
    editArea.style.width="0px";
    editArea.style.height="0px";
    editArea.style.border="0px none"
    contentToEdit.style.border="1px dotted #D3D3D3";
    if (isIE)
    {
        editButton.style.left=contentToEdit.offsetWidth/2 - 27 +"px";
    }
    else
    {
           editButton.style.left=contentToEdit.offsetWidth - 29 +"px";
    }

    editButton.style.top= "-1px";
    editButton.style.display="none";
    editButton.style.display="block";



    //initializing Custom Text Editor
    editArea=$("customTextEdit_Area");
    editButton=$("customTextEdit_Button");
    contentToEdit=$("customText");
    editArea.style.width=contentToEdit.offsetWidth + 12 + "px";
    editArea.style.height=contentToEdit.offsetHeight + 4 + "px";
    editArea.style.marginLeft=-8 + "px";
    editArea.style.marginTop=-2 + "px";
    editButton.style.left=contentToEdit.offsetWidth - 15 +"px"
    editButton.style.top="-1px"

}







function myFileBrowser(editor_id)
{
    dialogFramework.open("imagePopup1",600,null,new  Array(["imagePopup1_Image",editor_id]));
}

function selectImageItem(_control)
{
    var parentCont=_control.parentNode;
    var container=parentCont.parentNode;

    //deselecting other images

    for (i=0;i<container.childNodes.length;i++)
    {
        var curDiv=container.childNodes[i];
        if (curDiv.tagName=="DIV")
        {
            selectImage(curDiv,false);
        }
    }

    selectImage (parentCont,true);

}

function selectImage (_parent,_activate)
{

    var curClass = _parent.className;
    if (curClass.indexOf("selected")!=-1)
    {
        curClass=curClass.replace("selected","");
        _parent.className = curClass;
    }

    if (_activate)
    {
        curClass+=" selected";
        _parent.className = curClass;

                var parent = $('imagePopup1_Image').parentNode;

                parent.innerHTML = "<img src='"+ _parent.firstChild.src +"' id='imagePopup1_Image'/>";

                var h = $('imagePopup1_Image').height;
                var w = $('imagePopup1_Image').width;

                if(w > 320) {
                    $('imagePopup1_Image').width = 320;
                    $('imagePopup1_Image').height = Math.round(320 * h / w);
                }

                if($('imagePopup1_Image').height > 320) {
                    $('imagePopup1_Image').width = Math.round(320 * $('imagePopup1_Image').width / $('imagePopup1_Image').height);
                    $('imagePopup1_Image').height = 320;
                }

                 $("popupImageWidth").value = w;
                 $("popupImageHeight").value = h;

    }

}

function CheckNewFileName(name) {
     var imgs = $$(".images_list div img");

    for(var i = 0; i < imgs.length ; i++) {
        var imgName = imgs[i].src;
        if(imgName.substring(imgName.lastIndexOf("/")+1) == name)
            return false;
    }

    return true;
}

function addNewImage(name) {

var text = '<div><img src="draft/img/'+name+'" onclick="selectImageItem(this)"/>&nbsp;<a title="Click to select" href="#" onclick="selectImageItem(this)">'+name+'</a>&nbsp;<img alt="Delete" onclick="deleteImageItem(this)" src="../img/buttons/deleteButton.gif" class="button" title="Click to delete image"  /></div>';

    $('addedImageList').innerHTML = text + $('addedImageList').innerHTML;

    setTimeout(	function(){ResizeImages()}, 10);
}

function deleteImageItem(_control)
{
    if (confirm("Are you sure you want to delete this picture?"))
    {
        var parentCont=_control.parentNode;
        var container=parentCont.parentNode;

                var url = parentCont.firstChild.src;
        container.removeChild(parentCont);

                SaveToForm ("deleteImage", url);
    }
}

function setBodyColor() {
    var win = tinyMCE.getInstanceById('pageBackgroundEdit_Button').getWin().document.body;
    var curBody = document.body;
    win.style.backgroudColor = curBody.style.backgroundColor;
}

function setHeaderColor()
{
    tinyMCE.getInstanceById('headerBackgroundEdit_Button').getWin().document.body.style.backgroundColor= ($("header").style.backgroundColor)?$("header").style.backgroundColor:"#ffffff";
}

//Apply all
function applyBackColor(element_id, html, body) {
    $('imagePreview').style.backgroundColor = body.style.backgroundColor;
}

function applyHeaderBackColor(element_id, html, body)
{
    $("header").style.backgroundColor = body.style.backgroundColor;

        if(body.style.backgroundColor != "")
            SaveToForm ("headerBgColor", body.style.backgroundColor)
}

function applyAreaColor(element_id, html, body)
{
    var params=element_id.split("_");
    $(params[0]+"_color_area_" + params[2]).style.backgroundColor = body.style.backgroundColor;
}

function applyUnderLogoColor(element_id, html, body)
{
    $("underLogo").style.backgroundColor = body.style.backgroundColor;

        if(body.style.backgroundColor != "")
            SaveToForm ("underLogoBgColor", body.style.backgroundColor)

}

function applyPartLocShow()
{
    if ($("htmlPopup5_showLoc").checked)
    {
        $("footerPartLink").style.display="inline";
    }
    else
    {
        $("footerPartLink").style.display="none";
    }
    SaveToForm ("showLoc", "" + $("htmlPopup5_showLoc").checked);
    //setupPartLocLink();
}

function setupPartLocLink(fullSetup) {
    if (fullSetup) {
        $("footerText").innerHTML = main.advertBlock;
        //$("footerPartLink").style.display = main.showLoc=='false' ? 'none' : '';
    }
}

function initBodyBg(section) {
    var b = '<body style="background-color:' + page.bodyBackground + ';';
    if (page.bodyBgImage) b += 'background-image:url(\'' + section +  '/' + page.bodyBgImage + '\');';
    if (page.bodyBgRepeat) b += 'background-repeat:' + page.bodyBgRepeat;
    document.write( b + '" >');
}

function initPageHeader() {
    var header = $("header");
    header.style.backgroundColor = page.headerBackground;
    header = $("headerContent");
    if (page.headerContent!=null) {
        header.innerHTML = page.headerContent;
    } else if (page.topLogo) {
        header.innerHTML = '<img alt="Logo" src="' + page.topLogo + '" />';
    }
    var img = header.getElementsByTagName('img');
    if (img.length==1) {
        img[0].onclick = handleHome;
        img[0].style.cursor = 'pointer';
        img[0].style.display = 'inline'; // To override style .header table td.headerLogo IMG{display:block;} from base.css
    }
    initPoweredImage(header, page.showPowered=='true');
	if($("headerTable").rows[0].cells.length == 1) {
		document.body.style.backgroundPosition = "0 -6px";
	}
}

function initPoweredImage(header, show) {
    var headerContent = $('headerContent'),
	img = headerContent.firstChild;

    if (img && "img" == img.tagName.toLowerCase()) {
    	var imgResizer = document.createElement('div');
	imgResizer.id = 'imgResizer';
	
	headerContent.innerHTML = '';
	headerContent.appendChild(imgResizer);
	imgResizer.appendChild(img);
    }

    if ($('imgResizer')) {
	$('imgResizer').style.width = show ? '380px' : '780px';
	$('imgResizer').style.overflow = 'hidden';
    }

    var image;
	
    if (typeof(template) === 'undefined') {
	image = "GroupMAX.jpg";	
    } else {
	image = "GroupMAX_ME.jpg";    
    }


    header.style.background = show ? 'url("../img/logos/' + image + '") no-repeat right top' : '';
}

function handleHome() {
    return selectTab(this, true);
}

function header1OnChangeHandler(inst)
{
    var maxLenght=60; //customize if nesseseray
    var text= StripTags(inst.getBody().innerHTML);

    var allowed=maxLenght-text.length;
    if (allowed>=0)
    {
        $("htmlPopup21_left").innerHTML="Characters left: " + (maxLenght-text.length);
    }
    else
    {
        $("htmlPopup21_left").innerHTML="You've exceeded the allowed line lenght.";
    }
    //alert(inst.getBody().innerHTML);
    //alert(text);

}

function header2OnChangeHandler(inst)
{
    var maxLenght=45; //customize if nesseseray
    var text= StripTags(inst.getBody().innerHTML);

    var allowed=maxLenght-text.length;
    if (allowed>=0)
    {
        $("htmlPopup22_left").innerHTML="Characters left: " + (maxLenght-text.length);
    }
    else
    {
        $("htmlPopup22_left").innerHTML="You've exceeded the allowed line lenght.";
    }

}

function StripTags(text) //Removing tags from text
{
    var re = new RegExp("<([^\"'>]+(\"[^\"]*\"|'[^']*')?)*>","g");

    text = text.replace(re, "");
    text = text.replace("&nbsp;", " ").replace("&lt;", "<").replace("&gt;", ">").replace("&quot;", "\"").replace("&apos;", "'");
    return text;
}

function ResizeImages(){
      var imgs = $$(".images_list div img");

      for (var i = 0; i < imgs.length; i++) {
          var h = imgs[i].height;
          var w = imgs[i].width;

            if(w > 100) {
                imgs[i].width = 100;
                imgs[i].heigth = 100 * h / w;
            }
      }
}

function CheckUserForm() {
    try {

        if(document.getElementById("Email").value == "")
            throw "Please specify email.";

        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(document.getElementById("Email").value)) {
            throw "Invalid email.";
        }

        if(document.getElementById("password1").value != document.getElementById("password2").value)
            throw "Both passwords must be the same.";

        return true;

    } catch (e) {
        $('ErrorMessage').innerHTML = e;
        $('ErrorMessage').style.display = "";
        return false;
    }
}

/**
 * @constant
 */
var ROOT_PATH = new RegExp(location.href.slice(0, location.href.lastIndexOf('/')+1),'gi');
/**
 * @constant
 */
var CURR_PAGE = location.href.replace(ROOT_PATH, '');

/**
 * Converts absolute path of an image to path relative to content folder
 * @param {String} path
 * @return {String}
 */
function getRelativeImagePath(path) {
    return path.replace(ROOT_PATH, '').replace(CURR_PAGE, '').replace('draft/', '');
}

function correctContent(section) {
    if (section=='content') return;
    for (var i=0; i<tabs.length; i++) {
        correctImgPath(tabs[i], section);
    }
    correctImgPath(main, section);
    correctImgPath(page, section);
    correctImgPath(participatedLocations, section);
}

function correctImgPath(obj, section) {
    for(var k in obj) {
        obj[k] = obj[k].replace(/content\/img\//g, section+'/img/');
    }
}



// Append google analytics script on every page

window.onload = function(){
	if(CURR_SECTION == "content"){
		var script = document.createElement("script");
		script.async = true;
		script.type = "text/javascript";
		script.src = "../js/google-analytics.js";

		document.getElementsByTagName("body")[0].appendChild(script);			
	}
	
	// fix for content tab3 CW version, redundant id	

	var el = document.getElementById("contentForTab2_text");
			elG = el.getElementsByTagName("div")[0];
			if(elG.getAttribute("id") == 'contentForTab5_text'){
				elG.removeAttribute("id");
			}
	
}

