// JavaScript Document

function checkRequired () {
	tmpArray = getElementsByClassName(document, "*", "required");
    for (var i = 0; i < tmpArray.length; i++){
		if (!tmpArray[i].value){
			alert("Wypełnij wszystkie pola oznaczone gwiazdką (*)");
			return false;
		}
    }	
	return true;
}

function getIndex(objectName, value) {
	object = document.getElementById(objectName);
	for (var i = 0; i < object.options.length; i++) {
		if (object.options[i].value == value) {
			return i;
		}
	}
	alert ('Identyfikator "' + value + '" nie został znaleziony!');
}

function swapClasses(objectName, className1, className2) {
	object = document.getElementById(objectName);
	if (object.className == className1) object.className = className2;
	else object.className = className1;
}

function highlightMenuItem(objectName, className1, className2) {
	object = document.getElementById(objectName);
	if (object.className == className1) object.className = className2;
	else object.className = className1;
	
	tmpArray = getElementsByClassName(document, "*", className1);
    for (var i = 0; i < tmpArray.length; i++){
		if (tmpArray[i]!=object){
			tmpArray[i].className = className2;
		}
    }
}

function swapClass(objectName, className) {
	object = document.getElementById(objectName);
	object.className = className;
}

function swapVisibility(objectName) {
	object = document.getElementById(objectName);
	if (object.style.display == 'block') object.style.display = 'none';
	else object.style.display = 'block';
}

function swapMenu(objectName1, objectName2) {
	object1 = document.getElementById(objectName1);
	object2 = document.getElementById(objectName2);
	object1.style.display = 'block';
	object2.style.display = 'none';
}

function unfoldmenu(objectName, targetObjectName) {
	swapVisibility(targetObjectName);
	swapClasses(objectName, 'expanded', 'button');
	return false;
}

function hideOthers(className, objectName) {

	tmpArray = getElementsByClassName(document, "*", className);
	object = document.getElementById(objectName);

    for (var i = 0; i < tmpArray.length; i++){
      if (tmpArray[i]!=object){
			tmpArray[i].style.display = 'none';
      }
    }
	
	return false;
}


/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try { // Firefox, Opera 8.0+, Safari
  		xmlHttp=new XMLHttpRequest();
	}
	catch (e) { // Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function stateChanged() {
	if (xmlHttp.readyState==4) {
		document.getElementById("nl"+nid).innerHTML=xmlHttp.responseText;
		if (xmlHttp.responseText != '100%') {
			getNewsletterStatus(nid);
		}
		else {
			swapVisibility('sendButton');
		}
	}
}

function getNewsletterStatus(id) {
	nid = id;
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var url="send_newsletter_progress.php";
	url=url+"?id="+nid+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

}

function rndPwd() {
	chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
	length = 8;
	pwd = "";
	for(x=0;x<length;x++) {
		i = Math.floor(Math.random() * 62);
		pwd += chars.charAt(i);
	}
	return pwd;
}