
/**
 * @website www.digit-site.com
 * @author Ivan Počerek
 * @copyright 2010
 * DigitWeb is protected by copyright and is released under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
 * This comment block must be retained in all deployments and distributions
 */

function over(menuId,elmnt) {
    var SubMenuHolder = "Menu" + menuId + "-SubItemsHolder" + elmnt;
    menuItemHoverOver(menuId,elmnt);
    if(document.getElementById(SubMenuHolder) != null)
    	var displayCheck = document.getElementById(SubMenuHolder).style.display = "block";
}

function out(menuId,elmnt) {
    var SubMenuHolder = "Menu" + menuId + "-SubItemsHolder" + elmnt;
    menuItemHoverOut(menuId,elmnt);
    if(document.getElementById(SubMenuHolder) != null)
    	var displayCheck = document.getElementById(SubMenuHolder).style.display = "";
}

function menuItemHoverOver(menuId,elmnt) {
    var MenuItem = "Menu" + menuId + "-Item" + elmnt;
    if(document.getElementById(MenuItem).className != 'MenuItem MenuItemActive')
        var colorSwitch = document.getElementById(MenuItem).className = 'MenuItemHover';
}

function menuItemHoverOut(menuId,elmnt) {
    var MenuItem = "Menu" + menuId + "-Item" + elmnt;
    if(document.getElementById(MenuItem).className != 'MenuItem MenuItemActive')
        var colorSwitch = document.getElementById(MenuItem).className = 'MenuItem';
}

function colapsBtnOnClick(menuId,elmnt) {
    var MenuItem = "Menu" + menuId + "-Item" + elmnt;
    var SubMenuHolder = "Menu" + menuId + "-SubItemsHolder" + elmnt;
    var ColapseBtn = "Menu" + menuId + "-ColapseBtn" + elmnt;
    if(document.getElementById(SubMenuHolder) != null)
    {
        if(document.getElementById(SubMenuHolder).className == "MenuSubItemsHolder MenuSubItemsHolderOpen")
        {
            document.getElementById(SubMenuHolder).className = "MenuSubItemsHolder";
            document.getElementById(ColapseBtn).className = "MenuColapse";
        }
        else
        {
            document.getElementById(SubMenuHolder).className = "MenuSubItemsHolder MenuSubItemsHolderOpen";
            document.getElementById(ColapseBtn).className = "MenuColapseOpen";
        }
    }
    	
}

function checkForm (form)
{
	var checker = true;  //false true
    //alert(form.name);
	switch(form.name){
		case"contact":
			if(stringEmpty (form.nameSender.value) || form.nameSender.value == "Unesite ime!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.nameSender.value = "Unesite ime!";
		    	checker = false;
		  	}
		  	if(!checkEmailValidation(form.emailSender)) {
		    	//alert( "Please enter your email address." );
		    	//form.email.focus();
		    	form.emailSender.value = "Unesite E-mail adresu!";
		    	checker = false;
		  	}
		  	if(!checkIsNumeric(form.telSender)) {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.telSender.value = "Unesite tel. broj!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.messageSender.value) || form.messageSender.value == "Unesite poruku!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.messageSender.value = "Unesite poruku!";
		    	checker = false;
		  	}
		break;

		case"registration":
			if(stringEmpty (form.registrationName.value) || form.registrationName.value == "Unesite ime!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationName.value = "Unesite ime!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationSurName.value) || form.registrationSurName.value == "Unesite prezime!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationSurName.value = "Unesite prezime!";
		    	checker = false;
		  	}
		  	if(!checkEmailValidation(form.registrationEmail1)) {
		    	//alert( "Please enter your email address." );
		    	//form.email.focus();
		    	form.registrationEmail1.value = "Unesite E-mail adresu!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationTel1.value) || !checkIsNumeric(form.registrationTel1)) {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationTel1.value = "Unesite tel. broj!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationAddress1.value) || form.registrationAddress1.value == "Unesite adresu!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationAddress1.value = "Unesite adresu!";
		    	checker = false;
		  	}

		  	if(stringEmpty (form.registrationFreeTime.value) || form.registrationFreeTime.value == "Unesite tekst!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationFreeTime.value = "Unesite tekst!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationLeisure.value) || form.registrationLeisure.value == "Unesite tekst!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationLeisure.value = "Unesite tekst!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationAffectPerson.value) || form.registrationAffectPerson.value == "Unesite tekst!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationAffectPerson.value = "Unesite tekst!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationDislike.value) || form.registrationDislike.value == "Unesite tekst!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationDislike.value = "Unesite tekst!";
		    	checker = false;
		  	}
		  	if(stringEmpty (form.registrationAboutSelf.value) || form.registrationAboutSelf.value == "Unesite tekst!") {
		    	//alert( "Please enter your name." );
		    	//form.ime.focus();
		    	form.registrationAboutSelf.value = "Unesite tekst!";
		    	checker = false;
		  	}

		  	if(stringEmpty (form.registrationPicture.value)) {
		    	alert( "Niste priložili sliku! Molimo Vas da priložite sliku!" );
		    	//form.ime.focus();
		    	//form.registrationPicture.value = "Unesite adresu!";
		    	checker = false;
		  	}
		  	DateForDB();
		break;
	}


	return checker;

  // ** END **

	function DateForDB(){
		var day = document.getElementById('registrationDay').value;
		var month = document.getElementById('registrationMonth').value;
		var year = document.getElementById('registrationYear').value;
		var registrationBirthday = year+"-"+month+"-"+day;
		//alert(registrationBirthday);
		document.getElementById('registrationBirthday').value = registrationBirthday;
	}
}


function checkEmailValidation(formInput) {
    if (typeof(formInput) != "object") {
        alert("Validation not supported on this browser.");
        return(false);
    }
    var checker = false;
    var message;

    if (stringEmpty(formInput.value)) {
        message = "Error! There is no input value entered.";
        //alert(message);
    } else
    if (noAtSign( formInput.value )) {
        message = "Error! The address \"" + formInput.value + "\" does not contain an '@' character.";
        //alert(message);
    } else
    if (nothingBeforeAt(formInput.value)) {
        message = "Error! The address \"" + formInput.value;
        message += "\" must contain at least one character before the '@' character";
        //alert(message);
    } else
    if (noLeftBracket(formInput.value)) {
        message = "Error! The address \"" + formInput.value;
        message += "\" contains a right square bracket ']',\nbut no corresponding left square bracket '['.";
        //alert(message);
    } else
    if (noRightBracket(formInput.value)) {
        message = "Error! The address \"" + formInput.value;
        message += "\" contains a left square bracket '[',\nbut no corresponding right square bracket ']'.";
        //alert( message);
    } else
    if (noValidPeriod(formInput.value)) {
        message = "Error! The address \"" + formInput.value + "\" must contain a period ('.') character.";
        //alert(message);
    } else
    if (noValidSuffix(formInput.value)) {
        message = "Error! The address \"" + formInput.value;
        message += "\" must contain a two, three or four character suffix.";
        //alert(message);
    } else {
        message = "Success! The email address \"" + formInput.value + "\" validates OK.";
        //alert(message);
        checker = true;
    }
    /*
    var objType = typeof(formInput.focus);
    if (objType == "object" || objType == "function") {
         formInput.focus();
    }
    */

    if(checker)
	{
		return true;
	}
	else
	{
		return false;
	}

    function noAtSign (formField) {
	    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
	    if (formField.indexOf ('@', 0) == -1) {
	        return ( true );
	    } else {
	        return ( false );
	    }
	}

	function nothingBeforeAt (formField) {
	    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
	    if ( formField.indexOf ( '@', 0 ) < 1 ) {
	        return ( true );
	    } else {
	        return ( false );
	    }
	}

	function noLeftBracket (formField) {
	    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
	    if ( formField.indexOf ( '[', 0 ) == -1 && formField.charAt (formField.length - 1) == ']') {
	        return ( true );
	    } else {
	        return ( false );
	    }
	}

	function noRightBracket (formField) {
	    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
	    if (formField.indexOf ( '[', 0 ) > -1 && formField.charAt (formField.length - 1) != ']') {
	        return ( true );
	    } else {
	        return ( false );
	    }
	}

	function noValidPeriod (formField) {
	    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
	    if (formField.indexOf ( '@', 0 ) > 1 && formField.charAt (formField.length - 1 ) == ']')
	        return ( false );

	    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
	    if (formField.indexOf ( '.', 0 ) == -1)
	        return ( true );

	    return ( false );
	}

	function noValidSuffix(formField) {
	    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
	    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
	        return ( false );
	    }

	    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
	    var len = formField.length;
	    var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
	    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
	        return ( true );
	    } else {
	        return ( false );
	    }
	}
}

function stringEmpty (formField) {
    if ( formField.length < 1 ) {
        return (true);
    } else {
        return (false);
    }
}

function checkIsNumeric(formField)
{
	var ValidChars = "0123456789.-/";
	var IsNumber=true;
	var checkStr = formField.value;
	var Char;
	for (i = 0; i < checkStr.length && IsNumber == true; i++)
	{
		Char = checkStr.charAt(i);
		if (ValidChars.indexOf(Char) == -1)
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}


/* Ajax */

var xmlhttp;
var globalPage;
var globalRecord;
var globalFunc;
var globalContainerId;

function ajaxComments(func,subItemId,page,record,containerId,ip)
{
	globalPage = page;
	globalRecord = record;
	globalFunc = func;
	globalContainerId = containerId;

	var checker = true;

	var userName = document.getElementById('commentUserName').value;
	var comment = document.getElementById('comment').value;

	if(stringEmpty (userName) || userName == "Unesite ime!") {
		document.getElementById('commentUserName').value = "Unesite ime!";
		checker = false;
	}

	if(stringEmpty (comment) || comment == "Unesite poruku!") {
		document.getElementById('comment').value = "Unesite poruku!";
		checker = false;
	}

	if(checker)
	{
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
	  	{
	  		alert ("Browser does not support HTTP Request");
	  		return;
	  	}
		var url="ajaxComments.php";
		url=url+"?func="+func+"&subItemId="+subItemId+"&page="+page+"&record="+record+"&containerId="+containerId+"&comment="+comment+"&userName="+userName+"&ip="+ip;
		url=url+"&sid="+Math.random();
		xmlhttp.onreadystatechange=stateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
}

function ajaxPager(func,lang,itemId,modulName,modulTitle,itemSort,itemStyleId,record,displayAllInheritedSubItems,containerId,emailTo,isDisplayNameOfModul,page,pageId,orderBy,isAvailable,atADiscount)
{
	globalPage = page;
	globalRecord = record;
	globalFunc = func;
	globalContainerId = containerId;

	var arrContainerIdStr = "Pager" + containerId;
    var setPagersVarsStr = "&setGetVarsStr=";
    /*
	for(var e = 0; e < countArrayPagers; e++)
	{
		var arrPagerIdStr = arrayPagers[e][0];
		if(arrContainerIdStr == arrPagerIdStr)
		{
            arrayPagers[e][1] = page;
		}
		setPagersVarsStr += "!" + arrPagerIdStr + "=" + arrayPagers[e][1];
	}
	setPagersVarsStr += "";
    */
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
  	{
  		alert ("Browser does not support HTTP Request");
  		return;
  	}
	var url="ajaxDataContent.php";    //http://kuca.dyndns.info:89/cms/
	url=url+"?func="+func+"&lang="+lang+"&itemId="+itemId+"&modulName="+modulName+"&modulTitle="+modulTitle+"&itemSort="+itemSort+"&itemStyleId="+itemStyleId+"&record="+record+"&displayAllInheritedSubItems="+displayAllInheritedSubItems+"&containerId="+containerId+"&emailTo="+emailTo+"&isDisplayNameOfModul="+isDisplayNameOfModul+"&page="+page+"&pageId="+pageId+"&orderBy="+orderBy+"&isAvailable="+isAvailable+"&atADiscount="+atADiscount+""+setPagersVarsStr;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChangedAjaxPager;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function ajaxDataContent(func,containerId,page,record)
{
	//alert(func);
	var funcData = func+"Data";
	globalFunc = funcData;
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
  	{
  		alert ("Browser does not support HTTP Request");
  		return;
  	}
	var url="ajaxDataContent.php";     //http://kuca.dyndns.info:89/cms/
	url=url+"?func="+funcData+"&page="+page+"&record="+record;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function stateChanged()
{
	if (xmlhttp.readyState==4)
	{
		document.getElementById(globalContainerId).innerHTML=xmlhttp.responseText;
		clearGlobalVars();
	}
}

function stateChangedAjaxPager()
{
	if (xmlhttp.readyState==4)
	{
		document.getElementById(globalContainerId).innerHTML=xmlhttp.responseText;
		clearGlobalVars();
		//ajaxDataContent(globalFunc,globalContainerId,globalPage,globalRecord);
	}
}




function GetXmlHttpObject()
{
	if (window.XMLHttpRequest)
  	{
  		// code for IE7+, Firefox, Chrome, Opera, Safari
  		return new XMLHttpRequest();
  	}
	if (window.ActiveXObject)
  	{
  		// code for IE6, IE5
  		return new ActiveXObject("Microsoft.XMLHTTP");
  	}
	return null;
}

function clearGlobalVars(){
	globalPage = null;
	globalRecord = null;
	globalFunc = null;
	globalContainerId = null;
}

/* Ajax end */







