//these two functions find the position of the element on the page
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
function getHumanTime(seconds){
	human_time = '';
	var d = 0;
	var h = 0;
	var m = 0;
	
	if (seconds >= (60*60*24)){
		d = parseInt(seconds / (60*60*24));
		seconds = seconds%(60*60*24)
	} else {
		d = "0"
	}
	
	if (seconds >= (60*60)){
		h = parseInt(seconds / (60*60));
		seconds = seconds%(60*60)
	} else {
		h = "0"
	}
	
	if (seconds >= (60)){
		m = parseInt(seconds / (60));
		seconds = seconds%(60)
	} else {
		m = "0"
	}
	
	//human_time += d + 'd ' + h + 'h ' + m + 'm ' + seconds + 's';
	human_time += d + trans('d') + ' ' + h + trans('h') + ' ' + m + trans('m') + ' ' + seconds + trans('s');
	
	return human_time;
	
}
function wait(msecs){
	var start = new Date().getTime();
	var cur = start
	while(cur - start < msecs){
		cur = new Date().getTime();
	}
}
function getMousePosition(e){
	var posx = 0;
	var posy = 0;
	if (!e) e = window.event;
	if (e.pageX || e.pageY){
		posx = e.pageX;
		posy = e.pageY;
	} else if (e.clientX || e.clientY){
		posx = e.clientX + document.body.scrollLeft
		+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
		+ document.documentElement.scrollTop;
	}
	
}
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(sday,smonth,syear){
	var daysInMonth = DaysArray(12)
	
	day=parseInt(sday);
	month=parseInt(smonth);
	year=parseInt(syear);
	
	if ((month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		
		return false
	}
	
	return true
}
//check if email address is valid
function checkEmailValidation(str_input) {

    
    var message = '';

    if (stringEmpty(str_input)) {
        message = "* enter your Email address";
        //alert(message);
    } else if (noAtSign( str_input )) {
        message = "* Email must contain an '@' character";
        //alert(message);
    } else if (nothingBeforeAt(str_input)) {
        message = "* Email must contain at least one character before the '@' character";
        //alert(message);
    } else if (noLeftBracket(str_input)) {
        message = "* Email contains a right square bracket ']', but no corresponding left square bracket '['";
        //alert(message);
    } else if (noRightBracket(str_input)) {
        message = "* Email contains a left square bracket '[', but no corresponding right square bracket ']'";
        //alert( message);
    } else if (noValidPeriod(str_input)) {
        message = "* Email must contain a period '.' character";
        //alert(message);
    } else if (noValidSuffix(str_input)) {
        message = "* Email must contain a two, three or four character suffix";
        //alert(message);
    } else if (characterAfterAt(str_input)) {
        message = "* Email must not contain period '.'  directly after '@' character";
        //alert(message);
    
    } else {
        //message = "Success! The email address \"" + str_input + "\" validates OK.";
        //alert(message);
    }
	/*
    var objType = typeof(formInput.focus);
    if (objType == "object" || objType == "function") {
         formInput.focus();
    }
	*/
    return message;
}

function stringEmpty (formField) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( formField.length < 1 ) {
        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 characterAfterAt (formField) {
    // CHECK THAT THE CHARACTER AFTER @ IS NOT .
    
    var len = formField.length;
    var pos = formField.lastIndexOf ( '@', len - 1 ) + 1;
    if ( formField.charAt (pos) == '.' ) {
        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 getHumanPrice(price){
	
	var strPrice = price.toString();
	
	if(strPrice.length == 1){
		humanPrice = '0,0'+strPrice;
		return humanPrice;	
	}
	if(strPrice.length == 2){
		humanPrice = '0,'+strPrice;
		return humanPrice;	
	}
	var humanPrice = strPrice.substring(0,strPrice.length-2) + ',' + strPrice.substring(strPrice.length-2,strPrice.length);
	
	return humanPrice;
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


