// -- start security
function security()
{
	var cookie = ReadCookie("logged") ;
	if(cookie!="logged")
	{
		window.location = "login.php" ;
	}
}
// -- end security

// -- start cookie
function ReadCookie(cookieName)
{
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return ""; 
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1)) ;
}
// -- end cookie

// -- start countdown
function countdown(span_id,element_id,maximum,tolerance,minimum)
{
	if(maximum)
	{
		var characters = document.getElementById(element_id).value.length ;
		var remaining = maximum - characters ;
		var percentage_tolerance = maximum*(tolerance/100) ;
		if(remaining<percentage_tolerance || minimum>=remaining)
		{
//			alert(" c=" + characters + " r=" + remaining + " m=" + maximum + " t=" + tolerance + " min=" + minimum + " pt" + percentage_tolerance) ;
			document.getElementById(span_id).innerHTML = "[" + remaining + "]" ;
		}
		else
		{
			document.getElementById(span_id).innerHTML = "" ;
		}
	}
}
// -- end countdown

// -- start fieldset
function zig_fieldset(fieldset_id,div_id)
{
	var zig_fieldset = document.getElementById(fieldset_id) ;
	var zig_div_fieldset = document.getElementById(div_id) ;
	var fieldset_class = zig_fieldset.className ;
	if(fieldset_class=="zig_fieldset_displayed")
	{
		zig_fieldset.className = "zig_fieldset_collapsed" ;
		zig_div_fieldset.className = "zig_invisible" ;
	}
	else
	{
		zig_fieldset.className = "zig_fieldset_displayed" ;
//		zig_div_fieldset.className = "zig_visible" ;
		zig_div_fieldset.className = "" ;
	}
}
// -- end fieldset

// -- start keycode
function zig_keycode(e)
{	
	//e is event object passed from function invocation
	var characterCode ; //literal character code will be stored in this variable
	if(e && e.which)
	{
		//if which property of event object is supported (NN4)
		e = e ;
		characterCode = e.which ; //character code is contained in NN4's which property
	}
	else
	{
		e = event ;
		characterCode = e.keyCode ; //character code is contained in IE's keyCode property
	}
	return characterCode ;
}
// -- end keycode

// -- start suggest
function suggest_toggle(id)
{
	if(document.getElementById(id).style.display=="block")
	{
		document.getElementById(id).style.display = "none" ;
	}
	else
	{
		document.getElementById(id).style.display = "block" ;
	}
}

function suggest_select(id,input_id,selected_value)
{
	document.getElementById(input_id).value = selected_value ;
	suggest_toggle(id) ;
}

function suggest_filter(id,input_id,droplist_options_string)
{
	var input_filter = document.getElementById(input_id).value.toLowerCase() ;	
	var first_character = "" ;
	var droplist_options = droplist_options_string.split(",") ;
	var droplist_options_length = droplist_options.length ;
	var new_div_options = "" ;
	var counter = 0 ;
	while(counter<droplist_options_length)
	{
		first_character = droplist_options[counter].substr(0,input_filter.length) ;
		if(input_filter==first_character.toLowerCase() || (droplist_options[counter]=="" && counter==0) || input_filter=="")
		{
			new_div_options += "<div class='zig_droplist_suggest_div_option' onclick=\"suggest_select('" + id + "','" + input_id + "','" + droplist_options[counter] + "') ;\">" + droplist_options[counter] + "</div>" ;
		}
		counter++ ;
	}
	if(new_div_options.length)
	{
		document.getElementById(id).style.display = "block" ;
		document.getElementById(id).innerHTML = new_div_options ;
	}
	else
	{
		document.getElementById(id).style.display = "none" ;
	}		
}
// -- end suggest

// -- start total
function total_update(div_id,field_id)
{
	var total = 0 ;
	var counter = 1 ;
	var splitted_field_id = field_id.split("_") ;
	var row_number = splitted_field_id[splitted_field_id.length - 2] ;
	var finding_field_pre = field_id.split(row_number + "_id") ;
	var field_pre = finding_field_pre[0] ;
	while(document.getElementById(field_pre + counter + "_id"))
	{
		total = total + Number(document.getElementById(field_pre + counter + "_id").value) ;
		counter++ ;
	}
	document.getElementById(div_id).innerHTML = addCommas(total.toFixed(2)) ;
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
// -- end total

// -- start trigger
function zig_confirmation(action,redirection_link)
{
	var response = confirm("Are you sure you want to " + action + " this item(s)?") ;
	if(response)
	{
		window.location = redirection_link ;
	}
	return false ;
}
// -- end trigger

// -- start zigjax
function zigjax(file,parameters)
{
	if(parameters instanceof Array)
	{
		var container = parameters['container'] ;
		var trigger = parameters['trigger'] ;
		var wild = parameters['wild'] ;
		var return_function = parameters['return_function'] ;
		var loader = parameters['loader'] ;
	}
	else
	{
		var container = parameters ;
	}

	if(container)
	{
		if(!loader)
		{
			loader = "../zig-api/gui/themes/default/img/16x16/actions/ajax-loader.gif" ;
		}
		document.getElementById(container).innerHTML = "<div id='zig_div_ajax_loader'><img src='" + loader + "' /></div>" ;
	}

	var xmlHttp ;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest() ;
	}
	catch (e)
	{
		// Internet Explorer
		try
	    {
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP") ;
	    }
		catch (e)
	    {
    		try
	    	{
	    		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") ;
			}
	    	catch (e)
			{
				alert("Your browser does not support AJAX!") ;
				return false ;
			}
	    }
	}

	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4 && container)
	    {
			document.getElementById(container).innerHTML = xmlHttp.responseText ;
			if(return_function && ( (trigger==xmlHttp.responseText && wild==0) || (xmlHttp.responseText.search(trigger)>=0 && wild==1) ))
			{
				setTimeout(return_function,0) ;
			}
	    }
	}

	xmlHttp.open("GET",file,true) ;
	xmlHttp.send(null) ;
}

function zig(container,parameters,arg1,arg2,arg3,arg4)
{
	if(!arg1 && !arg2 && !arg3 && !parameters && container)
	{
		var file = container ;
		container = "" ;
	}
	else if(parameters && container && !(parameters instanceof Array))	
	{
		var arguments = "" ;
		if(arg1)
		{
			arguments = "&arg1=" + arg1 ;
		}
		if(arg2)
		{
			arguments+= "&arg2=" + arg2 ;
		}
		if(arg3)
		{
			arguments+= "&arg3=" + arg3 ;
		}
		if(arg4)
		{
			arguments+= "&" + arg4 ;
		}
		var file = "../zig-api/decoder.php?zig_hash=" + parameters + arguments ;
	}
	else if(parameters instanceof Array)
	{
		var file = "" ;
		for(var key in parameters)
		{
			if(!file)
			{
				file = "../zig-api/zigjax.php?" + key + "=" + parameters[key] ;
			}
			else
			{
				file = file + "&" + key + "=" + parameters[key] ;
			}
		}
	}
	return zigjax(file,container) ;
}
// --end zigjax

