var applyShim = true;
var cameraAddress = "";

window.onload = function() {
	if(document.getElementById('map_canvas'))
	    initMap();
	if(document.getElementById('homeFlash'))
	    renderHomeFlash();
	if(document.getElementById('resetBox')) {
	    if (document.getElementById('ctl00_cphPrimary_LoginView1_RecoverPass_UserNameContainerID_UserName').value != '') {
	        document.getElementById('resetBox').style.visibility = 'visible';
	    }
	}
	if(document.getElementById('ctl00_MasterLogin_View_Login1_Password')) {
	    var pass = document.getElementById('ctl00_MasterLogin_View_Login1_Password');
	    initText(pass);
	}

	if(document.getElementById('childCam')) {
	    init_camMenu();
	}
	//if ((navigator.appName == "Microsoft Internet Explorer") && (navigator.platform != "MacPPC") && (navigator.platform != "Mac68k"))
    //    applyShim = true;
}
window.onunload = function() {
    if(document.getElementById('map_canvas'))
        GUnload();
}

function input(object, text) {
	if(object.value == text) {
		object.value = "";
	}
}
function output(object, text) {
	if(object.value.length < 1) {
		object.value = text;
	}
}
function clear(object) {
    object.value = "";
}

function initPass(oldObject) {
	var newObject = document.createElement('input');
	newObject.type = 'password';
	if(oldObject.size) newObject.size = oldObject.size;
	if(oldObject.name) newObject.name = oldObject.name;
	if(oldObject.id) newObject.id = oldObject.id;
	else newObject.id = "passwordBox";
	if(oldObject.className) newObject.className = oldObject.className;
	
	newObject.onblur = function() { if(newObject.value.length < 1) initText(newObject); };

	oldObject.parentNode.replaceChild(newObject,oldObject);
	setTimeout("document.getElementById('"+newObject.id+"').focus();", 10);
	
	return newObject;
}

function initText(oldObject) {
	var newObject = document.createElement('input');
	newObject.type = 'text';
	if(oldObject.size) newObject.size = oldObject.size;
	if(oldObject.name) newObject.name = oldObject.name;
	if(oldObject.id) newObject.id = oldObject.id;
	else newObject.id = "passwordBox";
	if(oldObject.className)
	    newObject.className = oldObject.className;
    newObject.value = "Password";
    
    newObject.onfocus = function() { initPass(newObject); };
    
	oldObject.parentNode.replaceChild(newObject,oldObject);
    
    return newObject;
}

//---------: Homepage Flash Functions :-----------
function setFlashWidth(divid, newW){
	document.getElementById(divid).style.width = newW+"px";
}

function setFlashHeight(divid, newH){
	document.getElementById(divid).style.height = newH+"px";
}

function setFlashSize(divid, newW, newH){
	setFlashWidth(divid, newW);
	setFlashHeight(divid, newH);
}

function canResizeFlash(){
	var ua = navigator.userAgent.toLowerCase();
	var opera = ua.indexOf("opera");
	if( document.getElementById ){
		if(opera == -1) return true;
		else if(parseInt(ua.substr(opera+6, 1)) >= 7) return true;
	}
	return false;
}

function setSize(){
	setFlashSize('homeFlash',907,440);
}

function showBehindFlash(){
	document.getElementById("scroll").style.visibility = "visible";
}

function renderHomeFlash(){
    var html;
	e = canResizeFlash();
	html = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="CKHomepage" align="middle">';
    html += '<param name="allowScriptAccess" value="always" />';
	html += '<param name="movie" value="http://www.creationkingdom.com/uploadedFiles/Website/Library/Images/HomepageFlash/CKHomepage.swf" />';
	html += '<param name="loop" value="false" />';
	html += '<param name="menu" value="false" />';
	html += '<param name="quality" value="high" />';
	html += '<param name="salign" value="lt" />';
	html += '<param name="wmode" value="transparent" />';
	html += '<param name="bgcolor" value="#ffffff" />';
	html += '<param name="FlashVars" value="allowResize='+e+'" />';
	html += '<embed src="http://www.creationkingdom.com/uploadedFiles/Website/Library/Images/HomepageFlash/CKHomepage.swf" FlashVars="allowResize='+e+'" loop="false" menu="false" quality="high" wmode="transparent" bgcolor="#ffffff" width="100%" height="100%" name="CKHomepage" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	html += '</object>';
	document.getElementById('homeFlash').innerHTML = html;
}

function ShowCalendar(id) {
   if (document.getElementById(id).style.visibility == "collapse")
   {
    document.getElementById(id).style.visibility = "visible";
    }
    else
    {
    if (document.getElementById(id).style.visibility == "visible")
    document.getElementById(id).style.visibility = "collapse";
    }
}

//------------  Checkbox Validation Code ----------------------//
function CheckBoxValidatorDisableButton(chkId, mustBeChecked, btnId)
{
    var button = document.getElementById(btnId);
    var chkbox = document.getElementById(chkId);
    
    if (button && chkbox)
    {
        button.disabled = (chkbox.checked != mustBeChecked);
    }
}

function CheckBoxValidatorEvaluateIsValid(val)
{
    var control = document.getElementById(val.controltovalidate);
    var mustBeChecked = Boolean(val.mustBeChecked == 'true');

    return control.checked == mustBeChecked;
}

function CheckBoxListValidatorEvaluateIsValid(val)
{
    var control = document.getElementById(val.controltovalidate);
    var minimumNumberOfSelectedCheckBoxes = parseInt(val.minimumNumberOfSelectedCheckBoxes);

    var selectedItemCount = 0;
    var liIndex = 0;
    var currentListItem = document.getElementById(control.id + '_' + liIndex.toString());
    while (currentListItem != null)
    {
        if (currentListItem.checked) selectedItemCount++;
        liIndex++;
        currentListItem = document.getElementById(control.id + '_' + liIndex.toString());
    }
    
    return selectedItemCount >= minimumNumberOfSelectedCheckBoxes;
}


var cm_current = "";
var cm_time;
var cm_current2 = "";
var cm_time2;
var cm_time3;
function init_camMenu() {
    var menulis = document.getElementById('childCam').getElementsByTagName('div')[0].getElementsByTagName('li');
    for(var x=0;x<menulis.length;x++) {
        var iframeHtml = document.createElement('div');
        iframeHtml.id = menulis[x].id + "-ShimDiv";
        iframeHtml.style.display = "none";
        iframeHtml.innerHTML = '<iframe  id="' + menulis[x].id + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; display: block; z-index: 200;"></iframe>';
        menulis[x].parentNode.appendChild(iframeHtml);
    }
}
function open_camMenu(object) {
	if(cm_current != object.id) {
		if(cm_current.length > 0) {
			clearTimeout(cm_time);
			closeNow_camMenu();
		}
		cm_current = object.id;
		object.getElementsByTagName('span')[0].className = "on";
		
		if(object.getElementsByTagName('ul').length > 0) {
			var ul = object.getElementsByTagName('ul')[0];
			ul.className = "on";
			var offLeft;
			if(object.offsetLeft > 500) {
				offLeft = 500;
			}
			else {
				offLeft = object.offsetLeft;
			}
			ul.style.left = offLeft + "px";
			ul.style.top = object.offsetTop + 31 + "px";
			//ul.style.height = ul.getElementsByTagName('li').length * 31 + "px";
			
			if(applyShim)
	        {
		        if(document.getElementById(cm_current + '-ShimDiv'))
		        {
			        //document.getElementById(cm_current + '-ShimDiv').innerHTML = '<iframe  id="' + cm_current + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; top: '  + object.offsetTop + 31 + 'px; left: ' + offLeft + 'px; display: block; z-index: 200; width: ' + ul.offsetWidth + 'px; height: ' + ul.offsetHeight + 'px;"></iframe>';
			        var temp = document.getElementById(cm_current + '-ShimDiv').getElementsByTagName('iframe')[0];
			        temp.style.top = object.offsetTop + 31 + 'px';
			        temp.style.left = offLeft + 'px';
			        temp.style.width = ul.offsetWidth + 'px';
			        temp.style.height = ul.offsetHeight + 'px';
			        document.getElementById(cm_current + '-ShimDiv').style.display = "block";
		        }
		        else
		        {
			        //var iframeHtml = '<div id="' + cm_current + '-ShimDiv"><iframe  id="' + cm_current + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; top: '  + object.offsetTop + 31 + 'px; left: ' + offLeft + 'px; display: block; z-index: 200; width: ' + ul.offsetWidth + 'px; height: ' + ul.offsetHeight + 'px;"></iframe></div>';
			        //object.insertAdjacentHTML('BeforeEnd', iframeHtml);
			        var iframeHtml = document.createElement('div');
			        iframeHtml.id = cm_current + "-ShimDiv";
			        iframeHtml.innerHTML = '<iframe  id="' + cm_current + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; top: '  + object.offsetTop + 31 + 'px; left: ' + offLeft + 'px; display: block; z-index: 200; width: ' + ul.offsetWidth + 'px; height: ' + ul.offsetHeight + 'px;"></iframe>';
			        object.parentNode.appendChild(iframeHtml);
		        }
	        }

		}
	}
	else {
		clearTimeout(cm_time);
	}
}

function close_camMenu() {
	cm_time = setTimeout('closeNow_camMenu()', 100);
}

function closeNow_camMenu() {
	clearTimeout(cm_time);
	clearTimeout(cm_time2);
	if(document.getElementById(cm_current2)) {
	    
		var object = document.getElementById(cm_current2);
		object.getElementsByTagName('span')[0].className = "off";
		
		if(object.getElementsByTagName('ul').length > 0) {
			if(document.getElementById(cm_current2 + '-ShimDiv'))
            {
    	        document.getElementById(cm_current2 + '-ShimDiv').style.display = "none";
    	        //document.getElementById(cm_current2 + '-ShimDiv').innerHTML = "";
	        }
	        
			var ul = object.getElementsByTagName('ul')[0];
			ul.className = "off";
		}
		cm_current2 = "";
	}
	if(document.getElementById(cm_current)) {
	
		var object = document.getElementById(cm_current);
		object.getElementsByTagName('span')[0].className = "off";
		
		if(object.getElementsByTagName('ul').length > 0) {
		    if(document.getElementById(cm_current + '-ShimDiv'))
            {
    	        document.getElementById(cm_current + '-ShimDiv').style.display = "none";
    	        //document.getElementById(cm_current + '-ShimDiv').innerHTML = "";
	        }
	        
			var ul = object.getElementsByTagName('ul')[0];
			ul.className = "off";
		}
		cm_current = "";

	}
}

function open2_camMenu(object) {
	clearTimeout(cm_time);
	if(cm_current2 != object.id) {
		if(cm_current2.length > 0) {
			clearTimeout(cm_time2);
			clearTimeout(cm_time3);
			closeNow2_camMenu();
		}
		cm_current2 = object.id;
		object.getElementsByTagName('span')[0].className = "on";
		
		if(object.getElementsByTagName('ul').length > 0) {
			var ul = object.getElementsByTagName('ul')[0];
			ul.className = "on";
			var offLeft;
			if(object.parentNode.offsetLeft > 340) {
				offLeft = object.offsetLeft - 160;
			}
			else {
				offLeft = object.offsetLeft + 160;
			}
			ul.style.left = offLeft + "px";
			ul.style.top = object.offsetTop + "px";
			
			if(applyShim)
	        {
		        if(document.getElementById(cm_current2 + '-ShimDiv'))
		        {
			        //document.getElementById(cm_current2 + '-ShimDiv').innerHTML = '<iframe  id="' + cm_current2 + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; top: '  + object.offsetTop + 'px; left: ' + offLeft + 'px; display: block; z-index: 200; width: ' + ul.offsetWidth + 'px; height: ' + ul.offsetHeight + 'px;"></iframe>';
			        var temp = document.getElementById(cm_current2 + '-ShimDiv').getElementsByTagName('iframe')[0];
			        temp.style.top = object.offsetTop + 'px';
			        temp.style.left = offLeft + 'px';
			        temp.style.width = ul.offsetWidth + 'px';
			        temp.style.height = ul.offsetHeight + 'px';
			        document.getElementById(cm_current2 + '-ShimDiv').style.display = "block";
		        }
		        else
		        {
			        //var iframeHtml = '<div id="' + cm_current2 + '-ShimDiv"><iframe  id="' + cm_current2 + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; top: '  + object.offsetTop + 'px; left: ' + offLeft + 'px; display: block; z-index: 200; width: ' + ul.offsetWidth + 'px; height: ' + ul.offsetHeight + 'px;"></iframe></div>';
			        //object.insertAdjacentHTML('BeforeEnd', iframeHtml);
			        var iframeHtml = document.createElement('div');
			        iframeHtml.id = cm_current2 + "-ShimDiv";
			        iframeHtml.innerHTML = '<iframe  id="' + cm_current2 + '-Shim"  src=""  scrolling="no"  frameborder="0"  style="position:absolute; top: '  + object.offsetTop + 'px; left: ' + offLeft + 'px; display: block; z-index: 200; width: ' + ul.offsetWidth + 'px; height: ' + ul.offsetHeight + 'px;"></iframe>';
			        object.parentNode.appendChild(iframeHtml);
		        }
	        }
		}
	}
	else {
		clearTimeout(cm_time2);
		clearTimeout(cm_time3);
	}
}

function close2_camMenu() {
	cm_time2 = setTimeout('closeNow2_camMenu()', 100);
}

function closeNow2_camMenu() {
	if(document.getElementById(cm_current2)) {
	
		var object = document.getElementById(cm_current2);
		object.getElementsByTagName('span')[0].className = "off";
		
		if(object.getElementsByTagName('ul').length > 0) {
		    if(applyShim)
	        {
	            if(document.getElementById(cm_current2 + '-ShimDiv'))
	            {
	    	        document.getElementById(cm_current2 + '-ShimDiv').style.display = "none";
	    	        //document.getElementById(cm_current2 + '-ShimDiv').innerHTML = "";
		        }
	        }
	        
			var ul = object.getElementsByTagName('ul')[0];
			ul.className = "off";
		}
		cm_current2 = "";
	}
}

function save_camMenu() {
	clearTimeout(cm_time);
	clearTimeout(cm_time2);
	clearTimeout(cm_time3);
}

function close3_camMenu() {
	cm_time3 = setTimeout('closeNow2_camMenu()', 100);
}

function changeCam(url)
{
    //if ((navigator.appName == "Microsoft Internet Explorer") &&
        //(navigator.platform != "MacPPC") && (navigator.platform != "Mac68k"))
    //{
        // If Internet Explorer under Windows then use ActiveX 
        output  = '<OBJECT ID="cvcs" name="cvcs" width='
        output += '640';
        output += ' height=';
        output += '480';
        output += ' CLASSID="CLSID:8AD9C840-044E-11D1-B3E9-00805F499D93" ';
        output += 'type="application/x-java-applet">';
        output += '<PARAM NAME="codebase" VALUE="';
        output += url + '">';
        output += '<param name="code" value="xplug.class">';
        output += '<param name="archive" value="xplug.jar">';
        output += '<param name="name" value="cvcs">';
        output += '<param name="type" value="application/x-java-applet" />';
        output += '<param name="menuheight" value="0" />';
        output += '<param name="RemotePort" value="80" />';
        output += '<param name="Timeout" value="10000" />';
        output += '<param name="RotateAngle" value="0" />';
        output += '<param name="PreviewFrameRate" value="12" />';
        output += '<param name="DeviceSerialNo" value="" />';
        output += '<param name="mayscript" value="true" />';
        output += '<param name="scriptable" value="true" />';
        output += '<param name="xmode" value="preview" />';
        output += '<param name="bg" value="0xd5dfea" />';
        output += '<param name="inittrigger" value="false" />';
        output += '<embed id="embedPlayer" menuheight="0" width="640" previewframerate="12" inittrigger="false" rotateangle="0" timeout="10000" archive="xplug.jar" deviceserialno="" remoteport="80"';
        output += 'codebase="' + url + '" scriptable="true" type="application/x-java-applet" xmode="preview" mayscript="true" code="xplug.class" pluginspage="http://java.sun.com/javase/downloads/index.jsp" bg="0xd5dfea" height="480" name="cvcs">';
        output += '</embed>'; 
        output += '</OBJECT>';
        //output = '<iframe src="' + url + '/tvjview.asp" width="600" scrolling="no" height="520"></iframe>';
      
        var feedDiv = document.getElementById('feedDiv');
        if (feedDiv != null)
        {
            feedDiv.innerHTML = output;
        }
//    } else {

//        var feedDiv = document.getElementById('ctl00_cphPrimary_embedPlayer');
//        if (feedDiv != null)
//        {
//            //feedDiv.value =  url;
//            feedDiv.attributes["codebase"].value = url;
//        }
//        else
//        {
//            feedDiv = document.getElementById('embedPlayer');
//            if (feedDiv != null)
//            {
//                //feedDiv.value =  url;
//                feedDiv.attributes["codebase"].value = url;
//            }
//        }
//    }
    closeNow_camMenu();
    cameraAddress = url;
}

function mailTo(add, name, end){ 

    var daReferrer = document.referrer;
    
    var mailto_link = 'mail'+'to:'+ name + '@' + add + "." + end; 

    win = window.open(mailto_link,'emailWindow'); 
    if (win && win.open &&!win.closed) win.close(); 
}

function openWin()
{
    var win = window.open("portalPlayer.aspx?cam=" + cameraAddress, "playerWin", "width=680,height=560");
}

function showReset()
{
    var resetDiv = document.getElementById('resetBox');
    if (resetDiv != null)
    {
        
        if (resetDiv.style.visibility == 'hidden')
        {
            resetDiv.style.visibility = 'visible';
        }
    }
}