﻿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"
		}
	]

};
BrowserDetect.init();




/***********************************************
* Disable Text Selection 
***********************************************/

function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
	target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
	target.style.MozUserSelect="none"
else //All other route (ie: Opera)
	target.onmousedown=function(){return false}
target.style.cursor = "default"
}

//Sample usages
//disableSelection(document.body) //Disable text selection on entire body
//disableSelection(document.getElementById("mydiv")) //Disable text selection on element with id="mydiv"

/***********************************************
* Disable Text Selection End
***********************************************/




/***********************************************
* Disable right mouse click Script
***********************************************/

///////////////////////////////////
function clickIE4()
{
    if (event.button==2)
    {
        return false;
    }
}

function clickNS4(e)
{
    if (document.layers||document.getElementById&&!document.all)
    {
        if (e.which==2||e.which==3)
        {
            return false;
        }
    }
}

if (document.layers)
{
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS4;
}
else 
    if (document.all&&!document.getElementById)
    {
        document.onmousedown=clickIE4;
    }

//document.oncontextmenu=new Function("return false;")

// --> 
/***********************************************
* Disable right mouse click Script End
***********************************************/






/* get And val Functions */
function $get(element){if (arguments.length > 1){var elements = [];for (var i=0;i<arguments.length;i++){elements.push($get(arguments[i]));}return elements;}if (typeof element == 'string'){element = document.getElementById(element);}return element;}   
function $val(element){element = $get(element);return trim(element.value);}
function $show(element){$get(element).style.display = "";}
function $hide(element){$get(element).style.display = "none";}
function empty(){}
function trim(str){return(str.replace( /^\s*/ , "").replace( /\s*$/ ,""));}
function ScrollToElement(element,y){window.scrollTo(0,Number(GetElementPos($get(element))[1] - Number((y==null)?10:y)));}
function toggle(element){if ($get(element).style.display != 'none') hide(element);else show(element);}
function show(element){$get(element).style.display = "";}
function hide(element){$get(element).style.display = "none";}
function GetElementPos(element){element = $get(element);var selectedPosX = 0 , selectedPosY = 0;while(element != null){selectedPosX += element.offsetLeft;selectedPosY += element.offsetTop;element = element.offsetParent;}return[selectedPosX,selectedPosY];}
function RemoveChilds(element){while(element.firstChild){element.removeChild(element.firstChild);}}
function disableIds(arrIds,flag){for (var i=0;i<arrIds.length;i++){document.getElementById(arrIds[i]).disabled = flag;}}
function HighlightFields(element){element = $get(element);element.style.borderColor = "Red";element.style.borderWidth = "1px";element.style.borderStyle = "solid";}
function ResetFields(element){element.style.borderColor = "#3b5998";element.style.borderWidth = "1px";element.style.borderStyle = "solid";}

/* Server Message List Object Handler */
var ServerMessageList = {
    SetHeaderMessage   : function(Message,IsAlert){if (IsAlert) dvServerMessage.className = "wucServerMessageBox_Error";else dvServerMessage.className = "wucServerMessageBox_Confirm";pElement.innerHTML = Message;},        
    AddSectionMessage  : function(strMessage){ulElement.innerHTML += "<li>" + strMessage + "</li>";},
    SetDisplay         : function(on){if (on){dvServerMessage.style.display = "block";ScrollToElement(dvServerMessage);}else{dvServerMessage.style.display = "none";}},
    ResetServerMessage : function(){pElement.innerHTML = "";ulElement.innerHTML = "";ServerMessageList.SetDisplay(false);},
    AddParemeter       : function(Type,TextFieldId,Text){switch(Type){case "empty" : if (Mek.Validation.isEmpty(TextFieldId)){ServerMessageList.AddSectionMessage(Text);HighlightFields(TextFieldId);}break;case "zero" : if ($val(TextFieldId) == "0"){ServerMessageList.AddSectionMessage(Text);HighlightFields(TextFieldId);}break;case "check" : if (!$get(TextFieldId).checked){ServerMessageList.AddSectionMessage(Text);HighlightFields(TextFieldId);}break;case "name" : if (!Mek.Validation.isName($val(TextFieldId))){ServerMessageList.AddSectionMessage(Text);HighlightFields(TextFieldId);}break;case "mail" : if (!Mek.Validation.isEmail($val(TextFieldId))){ServerMessageList.AddSectionMessage(Text);HighlightFields(TextFieldId);}break;case "space" : if (!Mek.Validation.isSpaces($val(TextFieldId))){ServerMessageList.AddSectionMessage(Text);HighlightFields(TextFieldId);}break;}},
    DisplayServerMessageList:function(Text){ServerMessageList.SetHeaderMessage(Text,true);if (trim(ulElement.innerHTML) != ""){ServerMessageList.SetDisplay(true);return false;}else{ServerMessageList.SetDisplay(false);return true;}}               
};




/* Dot Net Inegration */
var DoSubmit = 0;var btnClick;var hylLocation;
function PauseSubmit(btn, funName){btnClick = btn;if (DoSubmit == 0){eval(funName);return false;}else{return true;}}
function ResumeSubmit(){DoSubmit = 1;try{$get(btnClick.getAttribute("id")).click();}catch(e){}}
function PauseHyperlink(hyl,funName){hylLocation = hyl;eval(funName);return false;}
function ResumeHyperLink(){document.redirect(hylLocation.get("href"));}
/* END OF - Dot Net Inegration */

function CheckEmail(elementId)
{                    
    if (document.getElementById(elementId).value=="")
    {
        flag=false;
        document.getElementById("errEmail").style.display = "inline";
    }
    else
    {
        var x = document.getElementById(elementId).value;
        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(x))
        {
            document.getElementById("errEmail").style.display = "inline";
            flag = false;
        }
        else
        {
            document.getElementById("errEmail").style.display = "none";
            flag = true;
        }
    }
}

function CheckPhoneNumber(elementID)
{
    if (document.getElementById(elementID).value=="")
    {
        flag=false;
        document.getElementById("errPhone").style.display = "inline";
    }
    else
    {
        x = document.getElementById(elementID).value;
        filter  = /^([\d]{2,3})+(-{0,1})([\d]{7})$/;
        if (!filter.test(x))
        {
            document.getElementById("errPhone").style.display = "inline";
            flag=false;
        }
        else
        {
            document.getElementById("errPhone").style.display = "none";
        }
    }
}

function setFavorite()
{
    if (window.external)
    {
        if (arguments.length < 1)
          window.external.AddFavorite(location.href, document.title);
        if (arguments.length == 1)
          window.external.AddFavorite(location.href, arguments[0]);
        if (arguments.length == 2)
          window.external.AddFavorite(arguments[0], arguments[1]);
    }
    else
        alert("Sorry, your browser doesn't support automated bookmarks.\nYou'll have to do it manually.");
}

function ShowHide(obj)
{
    if (document.getElementById(obj).style.display == "none")
    {
        document.getElementById(obj).style.display = "";
        document.getElementById(obj).style.margin = "-6px 0px 5px 0px";
        
    }
    else
    {
        document.getElementById(obj).style.display = "none";
    }
}

function pageLoad()
{
    if (typeof RatingID != 'undefined')
    {
        if ($get(RatingID+"_Star_1")!=null)
        {
            for(i=0;i<5;i++)
            {
                $get(RatingID+"_Star_"+(i+1).toString()).title = (i+1);
            }
        }
    }
}