// 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');     

      return mapbody;
	
   }  
  
};

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=null;
     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();
							
         }
      }
} 
*/

function disappear(cc,opacity) {
	var reduceOpacityBy = 5;
	var reduceHeightBy = 1;
	var rate = 60;	// 15 fps
    if(!cc.opacity){
	 cc.opacity=opacity;
	}
	if (cc.opacity > 0) {
		cc.opacity -= reduceOpacityBy;
		if (cc.opacity < 0) {
			cc.opacity = 0;
		}
		if (cc.filters) {
			try {
				cc.filters.item("DXImageTransform.Microsoft.Alpha").opacity = cc.opacity;
			} catch (e) {
				// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
				cc.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + cc.opacity + ")";
			}
		} else {
			cc.style.opacity = cc.opacity / 100;
		}
	}

	if (cc.height > 0) {
		cc.height -= reduceHeightBy;
		if (cc.height < 0) {
			cc.height = 0;
		}

		cc.style.height = cc.height + "px";
	}

	if (cc.height > 0 || cc.opacity > 0) {
		intval=setInterval(function () {disappear(cc);}, rate);//setTimer();
	} else {
		cc.style.display = "none";
		clearInterval(intval);
	}
}

function fadeIn(element, opacity) {
	var reduceOpacityBy = 5;
	var rate = 60;	// 15 fps


	if (opacity < 100) {
		opacity += reduceOpacityBy;
		if (opacity > 100) {
			opacity = 100;
		}

		if (element.filters) {
			try {
				element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = opacity;
			} catch (e) {
				// If it is not set initially, the browser will throw an error.  This will set it if it is not set yet.
				element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')';
			}
		} else {
			element.style.opacity = opacity / 100;
		}
	}

	if (opacity < 100) {
		setTimeout(function () {fadeIn(element, opacity);	}, rate);
	}
}


function makeWMPlayer(songURL, autoPlay){

if (songURL.indexOf("?") > 0)
  songURL += "&";
else  
  songURL += "/?";

songURL += "id=" + new Date().getTime();

objectHTML = '<OBJECT id="VIDEO" style="width:420px; height:45px" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject">';

objectHTML += '<PARAM NAME="URL" VALUE='
objectHTML += '"' + songURL + '" ref>';
objectHTML += '<PARAM NAME="AutoStart" VALUE="' + autoPlay + '"> ';
objectHTML += '<PARAM name="uiMode" value="full">';
objectHTML += '<PARAM name="PlayCount" value="1">';
objectHTML += '<param name="rate" value="1">';
objectHTML += '<param name="balance" value="0">';
objectHTML += '<param name="currentPosition" value="0">';
objectHTML += '<param name="defaultFrame" value>';
objectHTML += '<param name="currentMarker" value="0">';
objectHTML += '<param name="invokeURLs" value="-1">';
objectHTML += '<param name="baseURL" value>';
objectHTML += '<param name="volume" value="50">';
objectHTML += '<param name="mute" value="0">';
objectHTML += '<param name="stretchToFit" value="0">';
objectHTML += '<param name="windowlessVideo" value="0">';
objectHTML += '<param name="enabled" value="-1">';
objectHTML += '<param name="enableContextMenu" value="-1">';
objectHTML += '<param name="fullScreen" value="0">';
objectHTML += '<param name="SAMIStyle" value>';
objectHTML += '<param name="SAMILang" value>';
objectHTML += '<param name="SAMIFilename" value>';
objectHTML += '<param name="captioningID" value>';
objectHTML += '<param name="enableErrorDialogs" value="0">';

objectHTML += '<EMBED type="application/x-mplayer2" ';
objectHTML += 'height="45" ';
objectHTML += 'width="420" ';
objectHTML += 'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" ';
objectHTML += 'id="mediaPlayer" name="mediaPlayer" ';
objectHTML += 'bgcolor="#000000" ';
objectHTML += 'showcontrols="false" ';
objectHTML += 'showaudiocontrols="false" ';
objectHTML += 'showtracker="-1" ';
objectHTML += 'showdisplay="0" showstatusbar="0" videoborder3d="-1" ';
objectHTML += 'enabletracker="true" ';
objectHTML += 'src="' + songURL + '" ';
objectHTML += 'url="' + songURL + '" ';
objectHTML += 'autostart="' + autoPlay + '" ';
objectHTML += 'designtimesp="5311" ';
objectHTML += ' loop="false"></EMBED>';

objectHTML += '</OBJECT>';

document.write(objectHTML);
}
           /* var Event = YAHOO.util.Event,
			    Dom = YAHOO.util.Dom;*/