window.onload = function() {
	if (typeof $ != 'function') {
		function $(id){
			return document.getElementById(id);
		}
	}
}
function createRow(tableId,cellId)
{
	if ($(cellId)) {
		return false;
	}
	else {
		var lastRow = $(tableId).rows.length;
		var row = $(tableId).insertRow(lastRow);
		var cell = row.insertCell(0);
		cell.setAttribute('colSpan', '2');
		cell.setAttribute('style', 'color:#FF0000');
		cell.setAttribute('id', cellId);
		return true;
	}
}
function validateForm(fobj,ftbl,fmsg)
{
	var fl = "";
	for (var i = 0; i < fobj.length; i++)
	{
		for (var j = 1; j< fobj[i].length; j++)
		{ 
			if ($(fobj[i][j]['id']).value == "") {
				fl = fl + "<br />\n&nbsp;&bull;&nbsp;" + fobj[i][j]['label'] + "\n";
			}
		}
	}
	if (fl=="")
	{
		return true;
	} else {
		createRow(ftbl,'error_msg');
		$('error_msg').innerHTML = fmsg + ":\n\n" + fl;
		return false;
	}
}
function ValidateContact(vName, vEmail, vInvEmail, vMsg){

    var fl = "";
	var bull = "<br />\n&nbsp;&bull;&nbsp;";
	var validRegExp;
    var strEmail;
    if (document.getElementById('c_name').value == ""){
  	    fl = fl + bull + vName + "\n";
    }
	if (document.getElementById('c_email').value == "") {
        fl = fl + bull + vEmail + "\n";
    }
	validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
    strEmail = document.getElementById('c_email').value;
	if (document.getElementById('c_email').value != "") {
        if (strEmail.search(validRegExp) == -1) {
            fl = fl + bull + vInvEmail + "\n";
        }
    }
	
    if (fl == ""){
        return ( true );
    } else {
        document.getElementById("error_msg").innerHTML = vMsg + ":\n\n" + fl;
        return( false );
    }
}
function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}
function isFloatKey(evt) {
    var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode != 46 && (charCode < 48 || charCode > 57)) {
		return false;
	}
    return true;
}
function getFormValues(fobj){
    var str='';
    for(var i=0;i< fobj.elements.length;i++){
        str+=fobj.elements[i].name+'='+ encodeURIComponent(fobj.elements[i].value)+'&';
    }
    str=str.substr(0,(str.length-1));
    return str;
}
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);
}
function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)    
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}


/**
 * Returns true if an element has a specified class name
 */
function hasClass(node, className) {
  if (node.className == className) {
    return true;
  }
  var reg = new RegExp('(^| )'+ className +'($| )')
  if (reg.test(node.className)) {
    return true;
  }
  return false;
}

/**
 * Adds a class name to an element
 */
function addClass(node, className) {
  if (hasClass(node, className)) {
    return false;
  }
  node.className += ' '+ className;
  return true;
}

/**
 * Removes a class name from an element
 */
function removeClass(node, className) {
  if (!hasClass(node, className)) {
    return false;
  }
  // Replaces words surrounded with whitespace or at a string border with a space. Prevents multiple class names from being glued together.
  node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
  return true;
}
/**
 * Replace a class name of an element
 */
function replaceClass(node, newClassName, oldClassName)
{
	if (typeof oldClassName == 'undefined')
	{
		var oldClassName = node.className;
	}
	if (hasClass(node, oldClassName))
	{
		removeClass(node, oldClassName);
		addClass(node, newClassName);
	}	
}
/**
 * Toggles a class name on or off for an element
 */
function toggleClass(node, className) {
  if (!removeClass(node, className) && !addClass(node, className)) {
    return false;
  }
  return true;
}
/**
 * Emulate PHP's ereg_replace function in javascript
 */
function eregReplace(search, replace, subject) {
  return subject.replace(new RegExp(search,'g'), replace);
}
function gotoURL(someUrl,mHistory,step)
{
	if (typeof mHistory == 'undefined' || mHistory == '')
	{
		window.location = someUrl;
	} else {
		var s = (typeof step != 'undefined') ? parseInt(step) : null;
		switch (mHistory)
		{			 
			case 'back':
				history.back(s);
				break;
			case 'forward':
				history.forward(s);
				break;
		}
		
	}
	return false;
}
function check(method,fieldname)
{
    var checkboxes = document.getElementsByName(fieldname);
    for(var i=0; i < checkboxes.length; i++)
    {
        checkboxes[i].checked = method;
    }
}
function toggle(obj) {
	var el = $(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}
function bigpic(file,wid,hgt){
	sw=(screen.width-wid)/2;
    sh=(screen.height-hgt)/2;
	window.open(file,'mywindow','width='+wid+',height='+hgt+',scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,directories=0,status=0,top='+sh+',left='+sw+'')
}
function renewCode(){
	var myRandom = parseInt(Math.random()*99999999);
	$('security_code').src = 'includes/files/random.php?what=contact&renew=true&rand=' + myRandom;
}
function popUp(objId,elementId,t){
	var win = $(objId);	 
	var width = '';
	var height = '';
	var title = t ? t : '';
	
	if (win.style.display == 'none') {
		var params = 'section=gallery&action=load&id='+elementId;
		var popLoad = function (result){
			var c = '<img src="'+result.img+'" alt="" style="border:none" />';
			$(objId+'Title').style.width = result.width;
			$(objId+'Content').style.width = result.width;
			$(objId+'Content').style.height = result.height;
			$(objId+'Content').innerHTML = c;
		}
		http('GET', 'ajax.php', popLoad, params);
	}
	
	var content = '<div id="'+objId+'Title" style="cursor: move">';
	content+= '<span style="float:left">'+title+'</span><span style="float:right; margin: 3px 3px 3px 0;"><input type="image" src="assets/img/close_box.gif" onclick="popDown(\''+objId+'\')" /></span><span style="clear:both"></span></div>';
	content+= '<div id="'+objId+'Content" style="cursor: move"></div>';
	
	win.innerHTML=content;

	if (win.style.display == 'none'){
		win.style.display = '';
		var handle = $(objId+'Title');
		Drag.init(handle);
		Drag.init(win);
	}else
		win.style.display='none';
}
function popDown(objId)
{
	var win = $(objId);
	if (win) win.style.display='none';
}
function ValidateRegister(vUser,vUserTaken,vPass,vFname,vLname,vEmail,vInvEmail,vEmailTaken,vMsg,checkPass)
{	
	var fl = '';
	var bull = "<br />\n&nbsp;&bull;&nbsp;";
	var validRegExp;
    var strEmail;
	if (document.getElementById('members_l_username').value == "")
	{
		fl = fl + bull + vUser + "\n";
	}
	if (typeof checkPass != 'undefined')
	{
		if (document.getElementById('password').value == "")
		{
			fl = fl + bull + vPass + "\n";
		}
	}
	if (document.getElementById('fname').value == "")
	{
		fl = fl + bull + vFname + "\n";
	}
	if (document.getElementById('lname').value == "")
	{
		fl = fl + bull + vLname + "\n";
	}
	if (document.getElementById('email').value == "")
	{
		fl = fl + bull + vEmail + "\n";
	}
	
	validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
    strEmail = document.getElementById("email").value;
	
	if (document.getElementById("email").value != "") {
        if (strEmail.search(validRegExp) == -1) {
            fl = fl + bull + vInvEmail + "\n";
        }
    }
	if (document.getElementById('members_l_username_status').value == 'taken')
	{
		fl = fl + bull + vUserTaken + "\n";
	}	
	if (document.getElementById('email_status').value == 'taken')
	{
		fl = fl + bull + vEmailTaken + "\n";
	}

	if (fl == '')
	{
		return true;
	} else {
		document.getElementById("error_msg").innerHTML = vMsg + ":\n\n" + fl;
		return false;
	}
}

function ValidateRegedit(vFname,vEmail,vInvEmail,vEmailTaken,vMsg)
{	
	var fl = '';
	var bull = "<br />\n&nbsp;&bull;&nbsp;";
	var validRegExp;
    var strEmail;

	
	if (document.getElementById('fname').value == "")
	{
		fl = fl + bull + vFname + "\n";
	}
	
	if (document.getElementById('email').value == "")
	{
		fl = fl + bull + vEmail + "\n";
	}
	if (document.getElementById('email_status').value == 'taken')
	{
		fl = fl + bull + vEmailTaken + "\n";
	}
	
	validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
    strEmail = document.getElementById("email").value;
	
	if (document.getElementById("email").value != "") {
        if (strEmail.search(validRegExp) == -1) {
            fl = fl + bull + vInvEmail + "\n";
        }
    }
	
	if (document.getElementById('email_status').value == 'fail')
	{
		fl = fl + bull + vEmailTaken + "\n";
	} 


	if (fl == '')
	{
		return true;
	} else {
		document.getElementById("error_msg").innerHTML = vMsg + ":\n\n" + fl;
		return false;
	}
}

function check_field(f,path)
{
	if (typeof path == 'undefined') var path = 'http://vaklush.org/';	
	var params = 'section=auth&action=check&field='+f+'&value='+document.getElementById(f).value;
	var cb = function (result) {
		document.getElementById(f+'_status').value = result;
	}
	http('GET', path + 'ajax.php', cb, params);
}
function ValidateLogin(vInv)
{	
	if (document.getElementById('l_name').value == "")
	{
		return false;
	}
	if (document.getElementById('l_pass').value == "")
	{
		return false;
	}
	
	var path = '';	
	var params = 'section=auth&action=checkl&username='+document.getElementById('l_name').value+'&password='+document.getElementById('l_pass').value;
	var cb = function (result) {
		if(result=='success'){
			document.getElementById("l_form").submit();
		} else {
			document.getElementById("error_msg").innerHTML = '<div style="height:18px;">'+vInv+'</div>';
		}
	}
	http('POST', path + 'ajax.php', cb, params);
	
	return false;
		
}
function ValidateForgotton(vUser,vEmail,vInvEmail,vNono,vMsg)
{	
	var fl = '';
	var bull = "<br />\n&nbsp;&bull;&nbsp;";
	var validRegExp;
    var strEmail;
	
	if (document.getElementById('username').value == "")
	{
		document.getElementById("error_msg").innerHTML = '<div style="height:18px;">'+vMsg+'</div>';
		f1 = 'err';
		return false;
	}
	if (document.getElementById('email').value == "")
	{
		document.getElementById("error_msg").innerHTML = '<div style="height:18px;">'+vMsg+'</div>';
		f1 = 'err';
		return false;
	}
	validRegExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i;
    strEmail = document.getElementById("email").value;
	
	if (document.getElementById("email").value != "") {
        if (strEmail.search(validRegExp) == -1) {
           document.getElementById("error_msg").innerHTML = '<div style="height:18px;">'+vInvEmail+'</div>';
		   f1 = 'err';
		  return false;
        }
    }
	
	if (document.getElementById('status').value == 'fail')
	{
		document.getElementById("error_msg").innerHTML = '<div style="height:18px;">'+vNono+'</div>';
		f1 = 'err';
		return false;
	}
	
	
	
	

	if (fl == '')
	{
		return true;
	} else {
		return false;
	}
	
}
function check_field3()
{
	var path = 'http://vaklush.org/';	
	var params = 'section=auth&action=check3&email='+document.getElementById('email').value+'&username='+document.getElementById('username').value;
	var cb = function (result) {
		document.getElementById('status').value = result;
	}
	http('POST', path + 'ajax.php', cb, params);
}
function check_field2()
{
	var path = 'http://vaklush.org/';	
	var params = 'section=auth&action=check2&email='+document.getElementById('email').value+'&member_id='+document.getElementById('member_id').value;
	var cb = function (result) {
		document.getElementById('email_status').value = result;
	}
	http('GET', path + 'ajax.php', cb, params);
}