var openDiv = null;
var hiddenObjects = new Array();

function showDiv(object, width, height){
    window.scrollTo(0, 0);

	var objects = document.getElementsByTagName('object');
	for (var i = 0; i != objects.length; i++) {
	    if (objects[i].style.visibility != 'hidden' && objects[i].parentNode.getAttribute("id") != 'popupVideoContainer') {
	        objects[i].style.visibility = 'hidden';
	        hiddenObjects[hiddenObjects.length] = objects[i];
	    }
	}

    //centrar o popup na horizontal
    if (window.innerWidth) {
        document.getElementById(object).style.left = ((window.innerWidth / 2) - (width / 2)) + 'px';
    }
    else {
        document.getElementById(object).style.left = ((document.body.offsetWidth / 2) - (width / 2)) + 'px';
    }

    if (document.getElementById(object).parentNode.getAttribute("id") != null && document.getElementById(object).parentNode.getAttribute("id") != 'popupVideoContainer') {
    	document.getElementById(object).style.top = '150px';
    }
    else {
    	document.getElementById(object).style.top = '75px';
    }

    document.getElementById('overlay_popup').style.display = 'block';
    document.getElementById(object).style.display = 'block';

    openDiv = object;
}

function hideDiv(object){
    document.getElementById(object).style.display = 'none';

	if (document.getElementById('overlay_popup')) {
	    document.getElementById('overlay_popup').style.display = 'none';
	}
	for (var i = 0; i != hiddenObjects.length; i++) {
        hiddenObjects[i].style.visibility = 'visible';
	}
    openDiv = null;
}


var lastChapter;

function toggle (objecto) {
	if (document.getElementById(objecto).style.display == 'none') {
		document.getElementById(objecto).style.display = 'block';
		lastChapter = objecto;
	} else {
		document.getElementById(objecto).style.display = 'none';
	}
}




var page = new Array();
var lastpage = new Array();
function abre(div){
    var prefixDiv = div.substring(0, div.indexOf('_', 0));
    var sufixDiv = div.substring(div.indexOf('_', 0) + 1, div.length);

    if (document.getElementById(div) != null) {
        if (document.getElementById(div).style.display == 'block') {
            document.getElementById(div).style.display = 'none';
        }
        else {
            document.getElementById(div).style.display = 'block';
        }
    }

    //fechar todas as divs do mesmo nivel
    if (prefixDiv != 'lasterpage') {
        if (prefixDiv == 'page') {
            for (i in page) {
                if (sufixDiv != page[i]) {
                    element = prefixDiv + '_' + page[i];
                    if (document.getElementById(element) != null) {
                        document.getElementById(element).style.display = 'none';
                    }

                }
            }
        }
        else
            if (prefixDiv == 'lastpage') {
                for (i in lastpage) {
                    if (sufixDiv != lastpage[i]) {
                        element = prefixDiv + '_' + lastpage[i];
                        if (document.getElementById(element) != null) {
                            document.getElementById(element).style.display = 'none';
                        }
                    }
                }
            }
    }
}

function toggleQuestion(id){
    var image = document.getElementById(id + '_img');
    var question = document.getElementById(id + '_question');
    var answer = document.getElementById(id + '_answer');

    if (answer.style.display == null || answer.style.display == 'none') {
        answer.style.display = 'block';
        image.src = 'images/bt_close_question.gif';
        question.style.color = '#e0003b';
    }
    else {
        answer.style.display = 'none';
        image.src = 'images/bt_open_question.gif';
        question.style.color = '#6e6e6e';
    }
}

function Centrar(pagina, titulo, w, h, scrollu, resize){
    LeftPosition = (screen.width) ? (screen.width - w) / 2 : 0;
    TopPosition = (screen.height) ? (screen.height - h) / 2 : 0;
    settings = 'height=' + h + ',width=' + w + ',top=' + TopPosition + ',left=' + LeftPosition + ',scrollbars=' + scrollu + ',resizable=' + resize + '';
    win = window.open(pagina, titulo, settings)
}

function recoverPass(){
    document.getElementById('recoverPassForm').style.display = 'block';
    document.getElementById('loginBox').style.display = 'none';
}

function getXMLHttpRequest() {
    var httpRequest;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
    }
    else
        if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {
                }
            }
        }

	return httpRequest;
}

function openPageHighlight(pageHighlightID) {
    var httpRequest = getXMLHttpRequest();

    httpRequest.open('GET', 'stats.php?contentType=PageHighlight&contentID=' + pageHighlightID, true);
    httpRequest.send(null);
}

function openSearch(searchString) {
    var httpRequest = getXMLHttpRequest();

    httpRequest.open('GET', 'stats.php?contentType=Search&contentID=' + escape(searchString), true);
    httpRequest.send(null);
}

function openBannerPage(bannerID, pageID, baseURL) {
	if(baseURL == null)
		baseURL = '';

    var httpRequest = getXMLHttpRequest();

    httpRequest.open('GET', baseURL + 'stats.php?contentType=BannerPage&contentID=' + bannerID + '&pageID=' + pageID, true);
    httpRequest.send(null);
}

var navigate_to = null;
function showLogin(destino) {
	navigate_to = destino;

	document.getElementById('login_form').style.display='block';
	document.getElementById('registo_form').style.display='none';
	document.getElementById('recuperar_form').style.display='none';

	showDiv('divLogin', 298,177);
}

function submitForm(toSubmit) {
    var httpRequest = getXMLHttpRequest();
    httpRequest.onreadystatechange = function() {
        receiveResponse(httpRequest, toSubmit);
    };

    var requestParameters = '';
    var inputs = toSubmit.getElementsByTagName('input');
    var texts = toSubmit.getElementsByTagName('textarea');
    var selects = toSubmit.getElementsByTagName('select');
    var requestParameters = '';

    for (i = 0; i != inputs.length; i++) {
        if ((inputs[i].attributes['name']) && (inputs[i].value)) {
            if (/file|text|password/.test(inputs[i].type)) {
                if (requestParameters.length != 0) {
                    requestParameters += '&';
                }
                requestParameters += escape(inputs[i].attributes['name'].nodeValue) + '=' + escape(inputs[i].value);
            }
            else 
                if (/radio|checkbox/.test(inputs[i].type)) {
                    if (inputs[i].checked) {
                        if (requestParameters.length != 0) {
                            requestParameters += '&';
                        }
                        requestParameters += escape(inputs[i].attributes['name'].nodeValue) + '=' + escape(inputs[i].value);
                    }
                }
                else 
                    if (/hidden/.test(inputs[i].type)) {
                        if (requestParameters.length != 0) {
                            requestParameters += '&';
                        }
                        requestParameters += escape(inputs[i].attributes['name'].nodeValue) + '=' + escape(inputs[i].value);
                    }
        }
    }
    for (i = 0; i != texts.length; i++) {
        if ((texts[i].attributes['name']) && (texts[i].value)) {
            if (requestParameters.length != 0) {
                requestParameters += '&';
            }
            requestParameters += escape(texts[i].attributes['name'].nodeValue) + '=' + escape(htmlEntitiesEncode(texts[i].value));
        }
    }
    for (i = 0; i != selects.length; i++) {
        if ((selects[i].attributes['name']) && ((selects[i].selectedIndex != -1))) {
            if (requestParameters.length != 0) {
                requestParameters += '&';
            }
            requestParameters += escape(selects[i].attributes['name'].nodeValue) + '=' + escape(selects[i].options[selects[i].selectedIndex].value);
        }
    }

    httpRequest.open('POST', 'request.php', true);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    httpRequest.send(requestParameters);

	return false;
}

function logout() {
	navigate_to = null;
    var httpRequest = getXMLHttpRequest();
    httpRequest.onreadystatechange = function() {
        receiveResponse(httpRequest, null);
    };

    var requestParameters = escape('__submited_action') + '=' + escape('Entity:Logout');

    httpRequest.open('POST', 'request.php', true);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    httpRequest.send(requestParameters);
}

function receiveResponse(httpRequest, submitedForm) {
	if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
			if (httpRequest.responseText == 'ok') {
				if (navigate_to == null || navigate_to == '') {
					window.location.reload(true);
				}
				else {
					window.location.href = navigate_to;
				}
			}
			else {
				if (submitedForm != null) {
					var htmlElement = document.getElementById(submitedForm.id + '_error');
					if (htmlElement) {
						htmlElement.innerHTML = httpRequest.responseText;
						htmlElement.style.display = 'block';

						var x = htmlElement.getElementsByTagName("script");
						for (var i = 0; i < x.length; i++) {
							eval(x[i].innerHTML);
						}
					}
					else {
						alert("não encontrei elemento " + httpRequest.responseText);
					}
				}
				else {
					alert("não encontrei form submetido " + httpRequest.responseText);
				}
			}
		}
		else {
			alert(httpRequest.responseText);
			alert('There was a problem with the request.');
		}
    }
}

function sinopse(scheduleRecordLink) {
    var httpRequest = getXMLHttpRequest();
    httpRequest.onreadystatechange = function() {
        receiveSinopse(httpRequest);
    };

    httpRequest.open('GET', scheduleRecordLink + '&version_id=1', true);
    httpRequest.send(null);
}

function receiveSinopse(httpRequest) {
   if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
			var htmlElement = document.getElementById('detalheProgramacao');
			if (htmlElement) {
				htmlElement.innerHTML = httpRequest.responseText;
			}

			showDiv('detalheProgramacao', 637, 300);
		} else {
			alert(httpRequest.responseText);
		}
	} else {
	}
}

function processProducts_visita(result) {
	
	var selectProduct = document.getElementById('product_visita');
	selectProduct.options.length = 0;
	
	var newOption = new Option;
	newOption.value = null;
	newOption.text = '----';
	selectProduct.options[0] = newOption;
	
	for(var i = 0; i < result.length ; ++i) {
		var newOption = new Option;
		newOption.value = result[i].productID;
		newOption.text = result[i].name;

		selectProduct.options[i+1] = newOption;
		
	}
}

function processProducts_informacao(result) {
	
	var selectProduct = document.getElementById('product_informacao');
	selectProduct.options.length = 0;
	
	var newOption = new Option;
	newOption.value = null;
	newOption.text = '----';
	selectProduct.options[0] = newOption;
	
	for(var i = 0; i < result.length ; ++i) {
		var newOption = new Option;
		newOption.value = result[i].productID;
		newOption.text = result[i].name;

		selectProduct.options[i+1] = newOption;
		
	}
}

function callOperation(operationName, returnFormat, params, callback) {
    var httpRequest = getXMLHttpRequest();
    httpRequest.onreadystatechange = function() {
        receiveOperationResult(httpRequest, returnFormat, callback);
    };

    var requestParameters = '__submited_action=' + escape(operationName);

    var url = 'index.php?returnFormat=' + returnFormat + '&' + params;
    httpRequest.open('POST', url, true);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.send(requestParameters);
}

function receiveOperationResult(httpRequest, returnFormat, callback) {
   if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
			if (returnFormat == 'json') {
				result = JSON.decode(httpRequest.responseText);
			} else if (returnFormat == 'xml') {
				result = httpRequest.responseXML;
			} else {
				result = httpRequest.responseText;
			}
				
			callback(result);
		} else {
			alert(httpRequest.responseText);
		}
	} else {
	}
}



function ChangeSearchData(cat, child_code, child_id, empty_text) {
	var ul = document.getElementById('ul_' + cat);
	var li = document.getElementById(child_id);
	var selectAll = document.getElementById(cat + '_all');
	var inputs = document.getElementsByName(cat + "[]");
	if (li != null) {
		if (cat != 'Awarded') {
			li.parentNode.removeChild(li);
		} else {
			li.innerHTML = child_code;
		}
		if (selectAll)
			selectAll.checked = false;
	} else {
		var newli = document.createElement('li');
		newli.setAttribute('id', child_id);
		newli.innerHTML = child_code;
		ul.appendChild(newli);

		if (inputs.length == parseInt(ul.childNodes.length))
			if (selectAll)
				selectAll.checked = true;
	}

	if (parseInt(ul.childNodes.length) == 0) {
		EmptyMessenge(cat, empty_text, true);
	} else {
		EmptyMessenge(cat, empty_text, false);
	}
}

function EmptyMessenge(category, empty_text, insert) {
	var ul = document.getElementById('ul_' + category);
	var text = document.getElementById('textNoResolt_' + category);
	var div = document.getElementById('div_' + category);

	if (insert == true) {
		if (!text && parseInt(ul.childNodes.length) == 0) {
			var newlid = document.createElement('li');
			newlid.setAttribute('id', 'textNoResolt_' + category);
			newlid.innerHTML = empty_text;
			ul.appendChild(newlid);
		}
		div.style.color = '#737373';
	} else {
		if (text) {
			ul.removeChild(text);
		}
		div.style.color = '#0498D4';
	}
}

function SelectAll(category, empty_text) {
	var inputs = document.getElementsByName(category + "[]");
	var selectAll = document.getElementById(category + '_all');
	var ul = document.getElementById('ul_' + category);

	while (ul.hasChildNodes()) {
		ul.removeChild(ul.lastChild);
	}
	for ( var i = 0; i < inputs.length; i++) {
		var longID = inputs[i].value;
		var inputID = longID.split(':');

		if (selectAll && selectAll.checked == true) {
			inputs[i].checked = true;
			inputCode = document.getElementById(category + '_label_' + inputID[1]).innerHTML;
			ChangeSearchData(category, inputCode, 'li' + category + '_' + inputID[1], empty_text);
		} else {
			inputs[i].checked = false;
			if (i == inputs.length - 1) {
				EmptyMessenge(category, empty_text, true);
			}
		}
	}
}

function addFav(url, title){
	
	if (window.sidebar) {
		window.sidebar.addPanel(title, url, "");
	}
	else 
		if (window.opera && window.print) {
		
			var mbm = document.createElement('a');
			mbm.setAttribute('rel', 'sidebar');
			mbm.setAttribute('href', url);
			mbm.setAttribute('title', title);
			mbm.click();
			
		}
		else 
			if (document.all) {
				window.external.AddFavorite(url, title);
			}
}

