/*
 * Name:		functions.js
 *------------------------------------
 * Version:		2.2
 * Modified:	17 Jan. 2004
 * Created:		07 Apr. 2001
 * Author:		Vedran Arnautovic
 * Copyright:	wedran.com, 2003-2004
 * URL:			http://www.wedran.com
 *
 */


// ::::::::::::::: I S _ N U M B E R :::::::::::::::

function is_number(what) { 

	if(what.length==0) { return false; } 
	tmp = 0; 

	for (i = 0; i < what.length; i++) { 

		chr = what.charAt(i); 

		if ((chr >= "0" && chr <= "9") || chr == "." ) { 

			if (chr == ".") { tmp++; }
		
		} else { return false; }
	} 

	if (tmp > 1) { return false; } 
	return true; 
}

// ::::::::::::::::: C H R & A S C :::::::::::::::::

function get_ascii() {
	return " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";
}

function asc(what){

	var ascii = get_ascii();
	var tmp = ascii.indexOf(what);
	if (tmp >= 0) return tmp + 32; else return null;
}

function chr(what){ 

	var ascii = get_ascii();
	if (what < 32 || what >= 127) return null;
	return ascii.charAt(what - 32)
}

//for (i=0; i<=255;i++){ write(i + ". " + chr(i) + "<br>"); }


// :::::::::::::: J A V A S C R I P T ::::::::::::::

function javascript(what) { return eval(what); }

//javascript('alert("YES")');


// :::::::::::::::::::: T R I M ::::::::::::::::::::

function rtrim(what) {

	var tmp = what, len = tmp.length-1;
	if (tmp.charAt(len) == " " || tmp.charAt(len) == "\t") {
		tmp = tmp.substring(0, len);
		return(rtrim(tmp));
	} else { return what; }
}

function ltrim(what) {

	var tmp = what;
	if (tmp.charAt(0) == " " || tmp.charAt(0) == "\t") {
		tmp = tmp.substring(1, tmp.length);
		return(ltrim(tmp));
	} else { return what; }
}

function trim(what) { return(rtrim(ltrim(what))); }


// ::::::::: L E F T , R I G H T  &  M I D :::::::::

function left(what, nr) { return what.substring(0,nr); }

function right(what, nr){ return what.substring(what.length-nr ,what.length); }

function mid(what, a, b){ return what.substring(a-1, a-1+b); }

//tmp = left("vedran", 2);	 // tmp = ve
//tmp = right("vedran", 2);	 // tmp = an
//tmp = mid("vedran", 2, 3); // tmp = edr


// ::::::::::::::::: R E P L A C E :::::::::::::::::

function replace(what, where, with_what) {

	var tmp="", i = where.indexOf(what);
	while (i >= 0){

		tmp += where.substring(0, i) + with_what;
		where = where.substring(i+what.length, where.length);
		i = where.indexOf(what);
	}
	return tmp;
}
//tmp = replace("aa", "aabbaabb", "."); //tmp=".bb."


// :::::::::::::: D E L E T E _ A L L ::::::::::::::

function delete_all(what, where) { return replace(what, where, ""); }


// :::::::::::::::::: R A N D O M ::::::::::::::::::

function random(what) {

	if (!what) what = 1000000;
	return(Math.round(Math.random() * what));
}

// :::::::::::::::::::: C A S E ::::::::::::::::::::

function lcase(what) { return what.toLowerCase(); }

function ucase(what) { return what.toUpperCase(); }


// ::::::::::::::::::: W R I T E :::::::::::::::::::

function write(what) { this.document.write(what); }


// :::::::::::::::::: L E N G T H ::::::::::::::::::

function length(what) { return what.length(); }


// ::::::::::::::::::: I N S T R :::::::::::::::::::

function instr(where, what) { return where.indexOf(what)+1; }

//tmp = instr("vedran", "d"); //tmp = 3


// :::::::::::::: N A V I G A T I O N ::::::::::::::

function redirect(where) { location = where; }

function back() {	history.back(); }

function forward() {history.forward(); }

function reload() { location.reload(); }


// :::::::::::::: S P L I T & J O I N ::::::::::::::

function split(what, delimiter) { return what.split(delimiter); }

function join(what, delimiter)  { return what.join(delimiter); }

//tmp = split("a,b,c", ",");//tmp[0] = "a"
//tmp = join(tmp, ",");		//tmp = "a, b, c" 
//tmp = join(tmp);			//tmp = "a, b, c" //comma is default delimiter


// :::::::::::::::::: U B O U N D ::::::::::::::::::

function ubound(what) { return what.length; }

//tmp = Array("1", "2", "3");
//tmp = tmp.length; //tmp = 3


// :::::::::::::::: N E T S C A P E ::::::::::::::::

function is_netscape()  { if (navigator.appName == "Netscape") { return true; }}

function not_netscape() { if (navigator.appName != "Netscape") { return true; }}


// ::::::::::::::::: C O O K I E S :::::::::::::::::

function set_cookie(name, value) {

	var exp = new Date(); 
	exp.setTime(exp.getTime() + (365*24*60*60*1000));
    var tmp = name + "=" + escape(value) + "; expires=" + exp.toGMTString();
    document.cookie = tmp;
}

function get_cookie(name) {

	name = name + "=";
    var tmp = document.cookie.indexOf(name);
    if (tmp == -1) return 0;
    var len = document.cookie.indexOf(";", tmp + name.length);
    if (len == -1)  len = document.cookie.length;
    return unescape(document.cookie.substring(tmp + name.length, len));
}

function del_cookie(name) {

    if (get_cookie(name)) document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

//var hello = set_cookie("test", "wedran")
//alert(get_cookie("test"));
//del_cookie("test");
//alert(get_cookie("test"));


// :::::::::::::: P A R A M E T E R S ::::::::::::::

function get_param(what, url){

	if (!url) url = unescape(location.search);
	var tmp, i = url.indexOf(what)

	if (i >= 0) {

		tmp = url.substring(i+1+what.length);
		i	= tmp.indexOf("&"); 
		if (i < 0) { return tmp; } else { return tmp.substring(0, i); }
	}
}

//tmp = get_param("answer", "http://yes.com?question=age&answer=18") //tmp=18
//tmp = get_param("answer") //same as above if url of the current page is as above.


// :::::::::::::: N E W _ W I N D O W ::::::::::::::

function new_window(url, size, style, name) {

	var default_style = "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,";
	
	if (style) {
			   if (lcase(style) == "all") {
			default_style = "toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,";

		} else if (lcase(style) == "none") {
			default_style = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,";

		} else if (style.indexOf(",") >= 0){ 
			style = delete_all(" ", style);
			style = replace(",", style, "=yes,");
			default_style += style;

		} else { default_style += style + "=yes,"; }
	}

	if (!size) { default_style += "width=640,height=480"; }
	else {
		var tmp = split(lcase(size), "x");
		default_style += "width=" + tmp[0] + ",height=" + tmp[1];
	}
	if (!name) name = "win_" + random();
	window.open(url, name, default_style);
}

//new_window("test.htm");
//new_window("test.htm", "350x200");
//new_window("test.htm", "350x200", "toolbar");
//new_window("test.htm", "350x200", "toolbar", "my_window");
//new_window("test.htm", "350x200", "location, toolbar, status, scrollbars, resizable");
//new_window("test.htm", "350x200", "all");
//new_window("test.htm", "350x200", "none");


// :::::::::::::::: S P E C I A L S ::::::::::::::::

//if you have problems deleting newlines from
//strings from forms this is solution.
//warning: eavan tabs may be deleted

//Note! newlines are replace with spaces

function del_newlines(what) {

	var tmp = split(what, "");
	for (i=0; i<=tmp.length-1; i++)	{
		if (asc(tmp[i]) > 32) { continue; }
		else if (tmp[i] < 14) { tmp[i] = tmp[i] = " "; }
	}
	return join(tmp, "");
}


// :::::::::::::::: E M A I L _ O K ::::::::::::::::

function email_ok(what) {

	var at  = what.indexOf("\@");
	var dot = what.indexOf(".");
	var len = what.length;

	var txt = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.";
	var len2= txt.length;

	var tmp = -1;

	for(var i=0; i<=len;  i++) {
	for(var r=0; r<=len2; r++) {

		if (what.charAt(i) == txt.charAt(r)) { tmp++; }
	}}

	if ((tmp == len) &&                //are all chars valid?
		(len >= 6) &&                  //min=a@b.cd=6
	    (at  > 0 && at  < len-3) &&
	    (dot > 2))

		   { return 1;
	} else { return 0; }
}


// :::::::::: T I M E _ F U N C T I O N S ::::::::::

	var time_now = new Date();
	var time	 = time_now.getTime();
	var hour	 = time_now.getHours();
    var minute	 = time_now.getMinutes();
	var seconds	 = time_now.getSeconds();
    var date	 = time_now.getDate();
	var day		 = time_now.getDay();
	var month	 = time_now.getMonth()+1;
    var year	 = time_now.getYear();

	if (is_netscape()) year += 1900;

	if (hour   < 10) hour    = '0' + hour;
	if (minute < 10) minute  = '0' + minute;
	if (seconds< 10) seconds = '0' + seconds;
	if (day    < 10) day     = '0' + day;
	if (date   < 10) date    = '0' + date;
	if (month  < 10) month   = '0' + month;
    
	var month_names  = {"1" : "January", "2" : "February", "3" : "March", "4" : "April", "5" : "May", "6" : "June", "7" : "July", "8" : "August", "9" : "September", "10" : "October", "11" : "November", "12" : "December"};
	var month_name	 = month_names[month-0];

	var day_names    = {"1" : "Monday", "2" : "Tuesday", "3" : "Wensday", "4" : "Thorsday", "5" : "Friday", "6" : "Saturday", "0" : "Sonday"};
	var day_name	 = day_names[day];

	var month_shorts = {"1" : "Jan", "2" : "Feb", "3" : "Mar", "4" : "Apr", "5" : "May", "6" : "Jun", "7" : "Jul", "8" : "Aug", "9" : "Sep", "10" : "Oct", "11" : "Nov", "12" : "Dec"};
	var month_short  = month_shorts[month-0];
	
	var day_shorts   = {"1" : "Mon", "2" : "Tue", "3" : "Wen", "4" : "Tho", "5" : "Fri", "6" : "Sat", "0" : "Son"};
	var day_short	 = day_shorts[day];

	var daytime = "day"

		 if (hour >=6  && hour <12)	daytime="jutro"
	else if (hour >=12 && hour <18) daytime="posljepodne"
	else if (hour >=18 && hour <24) daytime="vece"
	else if (hour >=0  && hour <6)	daytime="noc"

	var holiday = ""

		 if (month == 12 && date == 31) holiday = "Nova Godina";
	else if (month == 10 && date == 31) holiday = "Halloween";
	else if (month ==  2 && date == 14) holiday = "Valentines day";
	else if (month ==  9 && date == 26) holiday = "Moj Rodjendan";


	var days_to_birthday = days_to("September 26", "9", "26");
	var days_to_new_year = days_to("December 31", "12", "31");


	var my_age;

	my_age = 18 + (year - 2000);
	if (month >= 9 && date >= 26) my_age++;


function days_to(to_Date, to_Month, to_Day) {

	var tmp;
	if (month > to_Month || (month == to_Month && date >= to_Day)) { tmp = (to_Date + " ," + (year + 1)); }
	else { tmp = (to_Date + " ," + year); }

	var then = new Date(tmp);
	return Math.floor((then.getTime()-time)/(1000*60*60*24)) + 1;
}

//document.write("Localtime: " + date + " " + month_name + " " + year + ", " + hour + ":" + minute + "<BR>");
//document.write("How are you doing on this butiful " + day_name + " " + daytime + "<BR>");
//document.write(days_to_birthday + " Days to my Birthday <BR>");
//document.write(days_to_new_year + " Days to my New Year <BR>");
