function creatAjaxObj() // create AJAX object
{
  var xmlhttp;
  var browser=navigator.appName;
	if(browser=="Microsoft Internet Explorer")
	{
 		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
 		xmlhttp=new XMLHttpRequest();
	}
	
   return xmlhttp;
}


 function loginUser()
 {
	var emailid = document.getElementById("emailid").value;
	var pass = document.getElementById("password").value;

	if(emailid==""){
			alert("Please enter Email Address");
			return false;
	}

	if(pass==""){
			alert("Please enter Password");
			return false;
	}

	var url = "users_ajax.php?action=login&emailid="+emailid+"&pass="+pass+"&rand="+Math.random()+"";
	ajaxObj = creatAjaxObj();
	//showLoading();
	ajaxObj.onreadystatechange = function (){
	   if(ajaxObj.readyState == 4)
	   {
		 if(ajaxObj.status == 200)
		 {	
			//alert(ajaxObj.responseText);
			var data = ajaxObj.responseText;
				 if(data == "0"){
					alert("Email Address does not exists");
				 } else if(data == "1"){
					alert("Password is incorrect");
				 } else if(data == "2"){
					window.location = "profile.php";
				 }
			// hideLoading();
		 }
	   }
	 }
    ajaxObj.open("GET",url,true);
    ajaxObj.send(null);
 }

 function loginUser_page()
 {
	var emailid = document.getElementById("emailid_page").value;
	var pass = document.getElementById("password_page").value;
	var redirect = document.getElementById("redirect").value;

	if(emailid==""){
			alert("Please enter Email Address");
			return false;
	}

	if(pass==""){
			alert("Please enter Password");
			return false;
	}

	var url = "users_ajax.php?action=login&emailid="+emailid+"&pass="+pass+"&rand="+Math.random()+"";
	ajaxObj = creatAjaxObj();
	//showLoading();
	ajaxObj.onreadystatechange = function (){
	   if(ajaxObj.readyState == 4)
	   {
		 if(ajaxObj.status == 200)
		 {	
			//alert(ajaxObj.responseText);
			var data = ajaxObj.responseText;
				 if(data == "0"){
					alert("Email Address does not exists");
				 } else if(data == "1"){
					alert("Password is incorrect");
				 } else if(data == "2"){
					
					if(redirect!=""){
						window.location = redirect+".php";
					} else {
						window.location = "profile.php";
					}
				 }
			// hideLoading();
		 }
	   }
	 }
    ajaxObj.open("GET",url,true);
    ajaxObj.send(null);
 }

var localIsDOM = document.getElementById?true:false;
var localIsJava = navigator.javaEnabled();
var localIsStrict = document.compatMode=='CSS1Compat';
var localPlatform = navigator.platform;
var localVersion = "0";
var localBrowser = "";
var localBFamily = "";
var isHttps = false;
var  glb_vfld;

var delay=20;
var imgsize=5;
var arrsize=4;
var timeon;
var whoc = new Array(arrsize);
var wid;
var hei;
var i=0;

if (window.opera && localIsDOM) {
    localBFamily = localBrowser = "Opera";
    if (navigator.userAgent.search(/^.*Opera.([\d.]+).*$/) != -1)
        localVersion = navigator.userAgent.replace(/^.*Opera.([\d.]+).*$/, "$1");
    else if (window.print)
        localVersion = "6";
    else
        localVersion = "5";
} else if (document.all && document.all.item)
    localBFamily = localBrowser = 'MSIE';

if (navigator.appName=="Netscape") {
    localBFamily = "NC";
    if (!localIsDOM) {
        localBrowser = 'Netscape';
        localVersion = navigator.userAgent.replace(/^.*Mozilla.([\d.]+).*$/, "$1");
        if(localVersion != '')
            localVersion = "4";
    } else if(navigator.userAgent.indexOf("Safari") >= 0)
        localBrowser = 'Safari';
    else if (navigator.userAgent.indexOf("Netscape") >= 0)
        localBrowser = 'Netscape';
    else if (navigator.userAgent.indexOf("Firefox") >= 0)
        localBrowser = 'Firefox';
    else
        localBrowser = 'Mozilla';
}

if (navigator.userAgent.indexOf("MSMSGS") >= 0)
    localBrowser = "WMessenger";
else if (navigator.userAgent.indexOf("e2dk") >= 0)
    localBrowser = "Edonkey";
else if (navigator.userAgent.indexOf("Gnutella") + navigator.userAgent.indexOf("Gnucleus") >= 0)
    localBrowser = "Gnutella";
else if (navigator.userAgent.indexOf("KazaaClient") >= 0)
    localBrowser = "Kazaa";

if (localVersion == '0' && localBrowser != '') {
    var rg = new RegExp("^.*"+localBrowser+".([\\d.]+).*$");
    localVersion = navigator.userAgent.replace(rg, "$1");
}
var localIsCookie = ((localBrowser == 'Netscape' && localVersion == '4')?(document.cookie != ''):navigator.cookieEnabled);
if (document.location.protocol == "https:") {
    isHttps = true;
}

function trim(str) {
  return str.replace(/^\s+|\s+$/g, '')
}

function setFocusDelayed() {
  glb_vfld.focus()
}

function setfocus(vfld) {
  glb_vfld = vfld;
  setTimeout( 'setFocusDelayed()', 100 );
}
function checkRequired(obj, msg) {
    var err = true;
    var radio = false;
    if (isset(obj.type) && (obj.type == 'text' || obj.type == 'password' || obj.type == 'textarea' || obj.type=='file' || obj.type=='hidden') && !obj.value.search(/^[\s]*$/gi)) err = false;
    else if(typeof(obj.tagName) != 'undefined') {
        if(obj.tagName.toUpperCase() == "SELECT") {
            if(!obj.multiple) {
                if(obj.selectedIndex<=0) err = false;
                else {
                    if(trim(obj.options[obj.selectedIndex].value)=='') err = false;
                }
            } else {
                for(i=0;i<obj.options.length;i++) {
                    if(obj.options[i].selected)return true;
                }
                return false;
            }
        }
    }
    if(typeof(obj.length) != 'undefined') {
        if(obj[0].type=="radio") {
            radio = true;
        }
    }
    if(radio) {
        for(i=0;i<obj.length;i++) {
            if(obj[i].checked) return (i+1);
        }
        if(i==obj.length) {
            err = false;
            obj = obj[0];
        }
    }
    return showmsg(obj, err, msg, '');
}
// undefined or not
function isset(obj) {
	return typeof(obj) != 'undefined' && obj !== null;
}

function redirect(url) {
    if(trim(url)!='') {
        window.location.href = url;
    } else {
        window.location.reload();
    }
}
function checkRequirednshow(obj, msg, cont) {
    var err = true;
    if(!checkRequired(obj, '')) err = false;
    return showmsg(obj, err, msg, cont);
}
function deletealloptions(obj) {
    for(i=0;i<obj.options.length;i++) {
        obj.options[i] = new Option('', '');
    }
    obj.options.length = 0;
}
function validateDate(obj, msg, cont) {
    //var dtStr_arr = obj.value.split('-');
    var dtStr = obj.value;
    var err = false;
    //if(dtStr_arr.length == 3) {
    if(trim(dtStr)!='') {
        //var dtStr = dtStr_arr[1]+"/"+dtStr_arr[0]+"/"+dtStr_arr[2];
        msg = isDate(dtStr);
        if(msg=='')err=true;
        //if (isDate(dtStr)) err=true;
    }
    return showmsg(obj, err, msg, cont);
}
function showmsg(obj, err, msg, cont) {
    if(!err) {
        if(trim(msg) != '') {
            if(trim(cont)!='') {
                document.getElementById(cont).innerHTML = msg;
                document.getElementById(cont).style.display = '';
            } else
                alert(msg);
        } else
            if(trim(cont)!='') { document.getElementById(cont).innerHTML = '';document.getElementById(cont).style.display = 'none'; }
        setfocus(obj);
    } else
        if(trim(cont)!='') { document.getElementById(cont).innerHTML = ''; document.getElementById(cont).style.display = 'none';}
    return err;
}
function validateUrlPath(obj, msg, cont) {
    var err = true;
    var url = decodeURIComponent(trim(obj.value));  // value of field with whitespace trimmed off
    var website = /^(((h|H?)(t|T?)(t|T?)(p|P?)(s|S?))\:\/\/)?(www.|[a-zA-Z0-9].)[a-zA-Z0-9\-\.]+\.[a-zA-Z]*([\/]*[a-zA-Z0-9\.\_\?\&\/\~\+\[\]\=]*)*$/  //expression accepts any URL with or without http/https
	if (!website.test(url))err = false;
    return showmsg(obj, err, msg, cont);
}
function validateFileExtensions (obj, fileexes, msg, cont) {
	var err = true;
    var filepath = obj.value.toLowerCase();
    if(trim(fileexes)!='') {
        eval('err=filepath.match(/('+trim(fileexes)+')$/i);');
        return showmsg(obj, err, msg, cont);
    }
}

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
//var phoneNumberDelimiters = "()- ";
var phoneNumberDelimiters = "-";
// characters which are allowed in international phone numbers
// (a leading + is OK)
//var validWorldPhoneChars = phoneNumberDelimiters + "+";
var validWorldPhoneChars = phoneNumberDelimiters;
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
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 stripCharsInBag(s, bag) {
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++) {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function checkInternationalPhone(strPhone) {
    s = stripCharsInBag(strPhone, validWorldPhoneChars);
    return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
function validatephonenumber(obj, msg, cont) {
    var err = true;
    var tfld = trim(obj.value);
    err = checkInternationalPhone(obj.value);
    return showmsg(obj, err, msg, cont);
}
function validateIHPphonenumber(obj, msg, cont) {
    var err = true;
    var tfld = trim(obj.value);
    var fond_sym = '';
    for(i=0;i<validWorldPhoneChars.length && err;i++) {
        numarr = tfld.split(validWorldPhoneChars[i]);
        if(tfld.indexOf(validWorldPhoneChars[i])>=0) {
            if(numarr.length!=3) err = false;
            else {
                if(numarr[0].length != 3 || numarr[1].length != 3 || numarr[2].length != 4) err = false;
                fond_sym += validWorldPhoneChars[i];
            }
        }
    }
    if(err && fond_sym.length==0) err = false;
    return showmsg(obj, err, msg, cont);
}

function validatefullname(obj, msg, cont) {
    var err = true;
    var tfld = trim(obj.value);
    var fullname_pattern = /^[a-zA-Z]+[a-zA-Z\s\ \'\.\-]*[a-zA-Z]*$/
    err = fullname_pattern.test(tfld)
    return showmsg(obj, err, msg, cont);
}
function checkEmailAddress(field, msg, cont) {
    var err = false;
    var res, x;
    if (!field)
        err = true;
        //return true;

    if (field.value.length == 0) {
        err = true;
    }

	var arrEmail = field.value.replace(/^\s+/, '').replace(/\s+$/, '').split('@');
	if (arrEmail.length != 2 || arrEmail[0].length < 1)
		err = true;
	if (!err) {
		if (arrEmail[0].length > 2)
			res = arrEmail[0].search(/^[-\w][-!#\$%&'*+.\/\d\.\w]+[-\w]$/gi);
		else
			res = arrEmail[0].search(/^[-\w]+$/gi);
		if (res == -1)
			err = true;
	}
	if (!err) {
		var arr2Email = arrEmail[1].split('.');
		if (arr2Email.length < 2)
			err = true;
	}
	if (!err) {
		var domenTail = arr2Email[arr2Email.length-1];
		var _arr2Email = new Array();
		for (x = 0; x < arr2Email.length-1; x++)
			_arr2Email[x] = arr2Email[x];
		arr2Email = _arr2Email;
		var domen = arr2Email.join('.');
		res = domen.search(/^[-!#\$%&*+\\\/=?\.\w^`{|}~]+$/gi);
		if (res == -1)
			err = true;
		res = domenTail.search(/^[a-zA-Z]+$/gi);
		if (res == -1 || domenTail.length < 2 || domenTail.length > 6)
			err = true;
	}
    return showmsg(field, !err, msg, cont);
}
// Some Class  for fck editor
function FCKClass() {
    this.UpdateEditorFormValue = function() {
        for ( i = 0; i < parent.frames.length; ++i ) {
            if ( parent.frames[i].FCK )
                parent.frames[i].FCK.UpdateLinkedField();
        }
    }
}

function zoom_out(p,q,which)
{  
   if(which.width <= p)
      which.width += imgsize;
   if(which.height <= q)
      which.height += imgsize;
   if(which.width <= p)
   {
      var tmp=which.id;
      timeon=eval("setTimeout('zoom_out("+p+","+q+","+tmp+")', delay)");
   }
   if(which.width > p)   
   {
//      zoom_check(which.id);
      clearTimeout(timeon);
   }
}
function zoom_check(xx)
{
    for(var x=0; x<(whoc.length);x++)
    {
        if(whoc[x] != null && whoc[x] != xx)
        {
		    var ff = document.getElementById(whoc[x]);
            ff.width=wid;
		    ff.height=hei;
        }
    }
}
function zoom_in(r,s,asd)
{
  if(i<(whoc.length-1))
	i++;
  else
	i=0;
  whoc[i] = asd.id;
  if(asd.width >= r)
      asd.width -= imgsize;
  if(asd.height >= s)
      asd.height -= imgsize; 
  asd.width=r;
  asd.height=s;
  wid=asd.width;
  hei=asd.height;
}

function do_change_up(elemID) {
   var oo=document.getElementById(elemID).className
    oo = 'MagicZoomLoading';
}

function do_change_down(elemID) {
   var oo=document.getElementById(elemID).className
    oo = 12 + "px" ;  // decrease 10%    
}

// For show and hide divs value
function common_div_hide_show(arr_ids,divs_status)
{
	if (divs_status) {  // Show all divs									
		for (i=0;i<arr_ids.length;i++)  {
			document.getElementById(arr_ids[i]).style.display = 'block';
		}
	} else { // Hide all divs
		for (i=0;i<arr_ids.length;i++)  {
			document.getElementById(arr_ids[i]).style.display = 'none';
		}
	}
}
function returnIds(at) { // Return all ids in current display page..
	var arr=[];
	var elem = document.getElementsByTagName('select'), i=0, e;
	while ( e = elem[i++])	{
		e[at]?arr[arr.length] = e[at]:null;
	}
  return arr;
}

function fun_hide_divs(arr_ids)
{	
	if (arr_ids.length) {
		var allIds = arr_ids;
	} else {
		var allIds = returnIds('id');
	}								
	var divs_status = false; // Hide all divs
	common_div_hide_show(allIds,divs_status);
}
function fun_show_divs(arr_ids) 
{
	if (arr_ids.length) {
		var allIds = arr_ids;
	} else {
		var allIds = returnIds('id');
	}
	var divs_status = true; // Show all divs
	common_div_hide_show(allIds,divs_status);
}
