var e = new RegExp('[-+\\.0-9=a-z_]+@([-0-9a-z]+\\.)+([0-9a-z]){2,4}','i');
function validatorOnSubmit(url,obj,callback)
{ 
        var l = obj.length;
        var ret = true;
        var i;
        var keys = new Array();
        var vals = new Array();
        var types = new Array();
        for (i=0;i<l;i++)
        {
                types[i] = obj[i].type;
                keys[i] = obj[i].name;
                vals[i] = obj[i].value;
                if (dog(keys[i] + "Error"))
                       dog(keys[i] + "Error").style.display = "none";
                if (types[i] == "submit" || types[i] == "reset" || types[i] == "button")
                    continue;
				if (types[i] != "radio")
                	url += keys[i] + "=" + vals[i] + "&";
   	            else if(obj[i].checked)
					url += keys[i] + "=" + vals[i] + "&";
        }
		url = encodeURI(url);
        for (i=l-1;i>=0;i--)
        {
            if (types[i] == "text" || types[i] == "password" || types[i] == "textarea" || types[i] == "file")
            { 
				if (dog(keys[i] + "Error"))
                {
					if(vals[i] == "")
					{
                    	dog(keys[i] + "Error").style.display = "block";
                    	obj[i].focus();
                    	ret = false;
					}
					else if (dog(keys[i] + "Match"))
						if(!mailCheck(keys[i],vals[i]))
							ret = false;
                }
			}
			else if (types[i] == "select-one")
			{
				if (obj[i].options['selectedIndex'] == 0 && dog(keys[i] + "Error"))
                {
                    dog(keys[i] + "Error").style.display = "block";
                    obj[i].focus();
                    ret = false;
                }
			}
        }
       if (!ret)
           return ret;
		if (keys[0] == "ajx" && vals[0] != 1)
			return ret;
	  	dog("loading").style.display = "block";
        getData(url , callback);
		obj.reset();
        return false;
}

function resetform(obj)
{
 var l = obj.length;
 for (i=0;i<l;i++)
 {
	 if (dog(obj[i].name + "Error"))
       	 dog(obj[i].name + "Error").style.display = "none";
 }
}

function mailCheck(field,val)
{
	var ret;
	ret = (val.match(e)) ? true : false;
	if (!ret)
	{
		dog(field + "Error").style.display = "block";
	}
	return ret;
}

function dog(id)

{
        return document.getElementById(id);
}

function display(id)
{
	dog(id).style.display = dog(id).style.display == "none" ? "block" : "none";
}

function getData(source,callback)

{
        var XMLHttpRequestObject = false;

        if(window.XMLHttpRequest)

            XMLHttpRequestObject = new XMLHttpRequest();

        else

            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");

        if(!XMLHttpRequestObject)

        {

            alert("no XMLHttpRequest");

             return false;

         }



         XMLHttpRequestObject.open("GET",source,true);

         XMLHttpRequestObject.onreadystatechange = function()

         {
             if(   XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
			 {
				   if (callback != noAction)
	                   callback(XMLHttpRequestObject.responseText);
			 }
		}

         XMLHttpRequestObject.send(null);
}

function Login()
{
	var ret = true;
	var user = dog("txtUsername").value;
	var pass = dog("txtPassword").value;
	dog("txtUsernameError").style.display = "none";
	dog("txtPasswordError").style.display = "none";	
	if (user == "")
	{
		dog("txtUsernameError").style.display = "block";
		ret = false;
	}
	if (pass == "")
	{
		dog("txtPasswordError").style.display = "block";
		ret = false;
	}	
	if (!ret)
		return false;
	dog("lblError").innerHTML = "";
	display('checkingUser');
	getData("usercheck.php?username=" + user + "&pass=" + pass , onLogin);
	return false;
}

function onLogin(txt)
{
	display('checkingUser');
	if (txt == "ok")
		window.location = "index.php";
	else 
	{
		dog("lblError").innerHTML = txt;
		dog("txtUsername").value = "";
		dog("txtPassword").value = "";
	}
}

function onLogout(txt)
{
	if(txt == "ok")
		window.location = "login.htm";
	else 
		alert(txt);
}

function loadData(page)
{
	window.scrollTo(0,0);
	dog("dataTd").innerHTML = "";
  	dog("loading").style.display = "block";
	switch (page)
	{
		case "index": getData("index2.php" ,onLoadData); break;
		case "links": getData("links.php" ,onLoadData); break;
		case "contact": getData("contact.htm" ,onLoadData); break;
		case "biography": getData("biography.php" ,onLoadData); break;
		case "activation": getData("activation.php" ,onLoadData); break;
		case "gallery": getData("gallery.php" ,onLoadData); break;
		case "archive": getData("loadData.php" ,onLoadPage); break;
		default: getData(page ,onLoadData);
	}
}

function onLoadData(txt)
{
	dog("loading").style.display = "none";
	dog("dataTd").innerHTML = txt;
	return false;
}

function onLoadPage(txt)
{
	dog("loading").style.display = "none";
	dog("dataTd").innerHTML = txt;
	firstLink = (dog("link1")) ? dog("link1") : dog("link0");
	setTimeout("firstLink.click();" , 0);
}

function displayPartN(currentPage,pageCount,totalFound)
{
	dog("info").style.display = "block";
	dog("totalFound").innerHTML = totalFound;
	dog("currentPage").innerHTML = currentPage;
	dog("pageCount").innerHTML = pageCount;
	if(dog('link1'))
	{
		for (i=1; i<=pageCount; i++)
			dog("part" + i).style.display = "none";
		dog("part" + currentPage).style.display = "block";
		if (currentPage > 1 && dog("previusePage"))
			dog("previusePage").href = "javascript:displayPartN(" + parseInt(currentPage-1) + "," + pageCount + "," + totalFound + ");";
		if (currentPage < pageCount && dog("nextPage"))
			dog("nextPage").href = "javascript:displayPartN(" + parseInt(currentPage+1) + "," + pageCount + "," + totalFound + ");";
		if (currentPage > 1 && dog("previusePage2"))
			dog("previusePage2").href = "javascript:displayPartN(" + parseInt(currentPage-1) + "," + pageCount + "," + totalFound + ");";
		if (currentPage < pageCount && dog("nextPage2"))
			dog("nextPage2").href = "javascript:displayPartN(" + parseInt(currentPage+1) + "," + pageCount + "," + totalFound + ");";
	}
}

function titleClicked(id)
{
	window.scrollTo(0,0);
	var str = "updateCount.php?id=" + id;
	dog("dataTd").innerHTML = "";
  	dog("loading").style.display = "block";
	getData(str , noAction);
	getData("fulltxt.php?id=" + id,onLoadData);
}

function noAction(txt)
{
}
