// JavaScript Document
/*****************************************************************
//	File name: class.laa.js
//	Author: Ludaip Addadmin
//	Last modified: Nov 21, 2008
//	**************************************************************
//	Copyright (C) 2008  Addadmin
 //   **************************************************************/
// Determine if cookie enabled 
var Laa = {
    LAA_GetObject:function(el){
      if(typeof el ==='string'){
		return this.GetId(el);
	  } else {
		return el;
	  }
    },
	add:function(el,dest){
	   var el = this.LAA_GetObject(el);
	   var dest = this.LAA_GetObject(dest);
	   dest.appendChild(el);
	},
	remove:function(el){
	   var el = this.LAA_GetObject(el);
	   el.parentNode.removeChild(el);
	},
	GetId:function(id){
	   var object = null;
	   if( document.layers) {   
	        object = document.layers[id];
	   } else if( document.all) {
	        object = document.all[id];
	   } else if( document.getElementById) {
	        object = document.getElementById(id);
	   }   
	  return object;
	},
	LAA_CookieEnabled:function(){
		return (navigator.cookieEnabled)? '1' : '0';
	},
	LAA_JavaEnabled:function(){
		var laa_jav='0'; 
    	if(navigator.javaEnabled()){ laa_jav='1';}
		return laa_jav;
	},
   EmailValidate:function(email) {
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   		if(reg.test(email) == true) {
      	    return true;
   		}else{
     		return false;
        }	
    },
   CheckPasswordStrength:function(input_field,output_display)
   {
	
        var input_str=input_field.value;
  		var input_length=input_str.length;
  		var strength=0;
  		number_re=new RegExp("[0-9]");
  		if(number_re.test(input_str)){strength++;}
  		    non_alpha_re=new RegExp("[^A-Za-z0-9]");
  		if(non_alpha_re.test(input_str)){strength++;}
  		    upper_alpha_re=new RegExp("[A-Z]");
  		if(upper_alpha_re.test(input_str)){strength++;}
  		if(input_length>=8){strength++;}
  		  var strength_str1="Password strength : ";
  		if(strength<=1){
  		    strength_str=strength_str1+'<strong style="color:grey">Weak</strong>';
  		}else if(strength<=2){
  		    strength_str=strength_str1+'<strong style="color:blue">Medium</strong>';
  		}else{
  		    strength_str=strength_str1+'<strong style="color:green">Strong</strong>';
  		}
  		if(input_str.length<6){
  		    strength_str=strength_str1+'<strong style="color:orange">Too short</strong>';
  		}
		if(input_length>0){
  		  output_display.innerHTML=strength_str;
		}else{
		output_display.innerHTML="";	
		}
  },
  isEmpty:function(obj)
  {    if(obj==""){
		 return true;
       }else{
        var v=obj.replace(/\s/g,"");
		return (v==""?true:false);		   
	   }
  },
  DialogWindow:function(wTitle,wBody,wWidth)
  {
    var mapbody ='<div class="laa-module"><div class="lt"><div class="rt"><h1>'+wTitle+'</h1></div></div><div class="l"><div class="r">'+wBody+'</div></div><div class="lb"><div class="rb"></div></div></div>';
     var xWidth=(wWidth?wWidth:'50em');     

                YAHOO.namespace("laa.dialog");
                var handleCancel = function(e) {  this.hide();  }
                var handleOK = function(e) {  this.hide();  }
	            YAHOO.laa.dialog.dlg = new YAHOO.widget.SimpleDialog("dlg", { visible:false, width: xWidth, fixedcenter:true, modal:true, draggable:false }); 	            
	            YAHOO.laa.dialog.dlg.setBody(mapbody);		
	            YAHOO.laa.dialog.dlg.render(document.body);
                YAHOO.laa.dialog.dlg.show();	
   }  
  
};

var LaaEvent = {
    add:function(){
		if (window.addEventListener) {
		  return function(el, type, fn) {
		   Laa.LAA_GetObject(el).addEventListener(type, fn, false);
		};
	      } else if (window.attachEvent) {
		    return function(el, type, fn) {
		    var f = function() {
		    fn.call(Laa.LAA_GetObject(el), window.event);
		  };
		          Laa.LAA_GetObject(el).attachEvent('on' +type, f);
		};
	      }
	    }()
};

var LaaAjax = {
   Object:function(MimeType){
     var xmlhttp;
     if (window.XMLHttpRequest) { // Mozilla, Safari,...
         xmlhttp = new XMLHttpRequest();
         if (xmlhttp.overrideMimeType) {
         	// set type accordingly to anticipated content type
            xmlhttp.overrideMimeType(MimeType);//'text/html'
         }
      } else if (window.ActiveXObject){ // IE
         try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!xmlhttp) {
         alert('Could not execute AJAX Request');
         return false;
      }   
     return xmlhttp;
  },
  GET:function(req,url,resultout, parameters) {
      req.open('GET',url + parameters, true);
      req.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8');	  
	  req.onreadystatechange = resultout;
      req.setRequestHeader('Connection', 'close');	  
      req.send(null);
   },
   POST:function(req,url,resultout, parameters) {
      req.open('POST', url, true);
      req.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
      req.setRequestHeader("Content-length", parameters.length);
      req.setRequestHeader("Connection", "close");
      req.onreadystatechange = resultout;	  
      req.send(parameters);
   }
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
   
var LaaAjaxRequest = LaaAjax.Object('text/html');


/*
function Weather(dd){
   LaaAjaxRequest.POST(LaaAjaxRequest,'weather.php?',WeatherContents,'&va='+encodeURIComponent(dd)+'&ac='+encodeURIComponent('email'));
}	
var WeatherContents = function(){ 
      if (LaaAjaxRequest.readyState==4) {
         if (LaaAjaxRequest.status==200) {
var mapbody ='<div class="laa-module"><div class="lt"><div class="rt"><h1>Weather</h1></div></div><div class="l"><div class="r">'+LaaAjaxRequest.responseText+'</div></div><div class="lb"><div class="rb"></div></div></div>';

                YAHOO.namespace("example.simpledialog");
                var handleCancel = function(e) {  this.hide();  }
                var handleOK = function(e) {  this.hide();  }
	            YAHOO.example.simpledialog.dlg = new YAHOO.widget.SimpleDialog("dlg", { visible:false, width: "50em", fixedcenter:true, modal:true, draggable:false }); 	            
	            YAHOO.example.simpledialog.dlg.setBody(mapbody);		
	            YAHOO.example.simpledialog.dlg.render(document.body);
                YAHOO.example.simpledialog.dlg.show();
							
         }
      }
}   


function Map(dd){
    LaaAjaxRequest.POST(LaaAjaxRequest,'showmap.php?',MapContents,'&va='+encodeURIComponent(dd)+'&ac='+encodeURIComponent('email'));
}	
var MapContents = function(){ 
      if (LaaAjaxRequest.readyState==4) {
         if (LaaAjaxRequest.status==200) {
var mapbody ='<div class="laa-module"><div class="lt"><div class="rt"><h1>Weather</h1></div></div><div class="l"><div class="r">'+LaaAjaxRequest.responseText+'</div></div><div class="lb"><div class="rb"></div></div></div>';

                YAHOO.namespace("example.simpledialog");
                var handleCancel = function(e) {  this.hide();  }
                var handleOK = function(e) {  this.hide();  }
	            YAHOO.example.simpledialog.dlg = new YAHOO.widget.SimpleDialog("dlg", { visible:false, width: "50em", fixedcenter:true, modal:true, draggable:false }); 	            
	            YAHOO.example.simpledialog.dlg.setBody(mapbody);		
	            YAHOO.example.simpledialog.dlg.render(document.body);
                YAHOO.example.simpledialog.dlg.show();
							
         }
      }
} 
*/
