$(document).ready(function(){
	selectList();
	toggleContent();
	$("#licForm :submit").attr("disabled", false);
});


/* =================================================================== */
// function to add events crossbrowser
// from: http://www.dustindiaz.com/rock-solid-addevent/
// uncomment the EventCache lines if using EventCache function from code lib
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		//EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		//EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}
/* =================================================================== */
// Get an ID 
function getThis(sId)
{
	var oObject;
	oObject = false;
	
	if (IS_DOM) {
		if (document.getElementById(sId)) {
			oObject = document.getElementById(sId);
		}
	}
	
	return oObject;
}


/* =================================================================== */
// various link functionality - popups, external, onstate
// original script taken from Jeremy Keith
// dependencies: cssjs(), addEvent()
var anchors = {
	a : Object,
	doPopups : function() {
		if (!document.getElementsByTagName) return false;
		var links = document.getElementsByTagName("a");
		for (var i=0; i < links.length; i++) {
			var anchor = links[i];
			if (anchor.getAttribute('href') && anchor.rel.match('external')) {
				anchor.onclick = function() {
					return anchors.openWin(this,"newWin","");
				}
				cssjs('add',anchor,'external');
			}
		
		   	if (cssjs('check',anchor,'pdf')) {
				anchor.onclick = function() {
					return anchors.openWin(this,"pdfWin","width=700, height=550,toolbar=yes, resizable=yes");
				}
		  	}
		 	  if (cssjs('check',anchor,'enlarge')) {
				anchor.onclick = function() {
					return anchors.openWin(this,"enlargeWin","width=600, height=400,toolbar=no, resizable=yes");
				}
		    	}
			if (anchor.href == location.href) {
				cssjs('add',anchor,'onstate');
			}
		}
	},
	openWin : function(o,winName,params) {
		var win=window.open(o.href,"" + winName + "","" + params + "");
		win.focus();
		return false;
	}
}
addEvent(window,'load',anchors.doPopups);
/* =================================================================== */

/* =================================================================== */
// function to add/remove classes from elements
// written by Christian Heilmann 
// more info here http://www.onlinetools.org/articles/unobtrusivejavascript/cssjsseparation.html
// call like cssjs('add',containerOBJ,classname);
function cssjs(a,o,c1,c2){
	switch (a){
		case 'swap':
			o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
		break;
		case 'add':
			if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
		break;
		case 'remove':
			var rep=o.className.match(' '+c1)?' '+c1:c1;
			o.className=o.className.replace(rep,'');
		break;
		case 'check':
			return new RegExp("(^|\\s)" + c1 + "(\\s|$)").test(o.className)
		break;
	}
}

/* =================================================================== */

 /* Show/Hide Select box - Country dropdown */
function selectList() {
	$("body").addClass("hasJS");

	$("div.select").show();
	 
	$("a.showSelect").toggle(function(){
	     $(".selectList") .slideDown("normal")
	   },function(){
	     $(".selectList") .slideUp("normal")
	   });
   
 }
 
 function closeSelect() {
 	$(".selectList") .slideUp("normal");
 }
 
 /* =================================================================== */

 /* Toggle hp content*/
  function toggleContent() {
  
  //hide all
$(".toggleContent").hide();
 
 //Show first
$("#colOne ul li a:eq(0)").parent().addClass("selected");
$("#colOne ul li a:eq(0)").next(".toggleContent").show();

//Toggle show/hide
 $("#colOne ul li a.toggle").toggle(
 	 function () {
		$(this).parent().addClass("selected");
	   	$(this).next(".toggleContent").show();
	 },
  	 function () {
		$(this).parent().removeClass("selected");
   		$(this).next(".toggleContent").hide();
 	}
	);
}

//if user selects any check box then we need to make sure all licenses he selected to deactivate should be 
//  deactivated before he goes to next page. so if user deactivates some licenses and moves to next page we are submitting
//  form to deactivate licenses on first page before moving to next page
$(
	function() {
		$("input[name='repositoryIDs']").click(
			function(event) {
				$("#pagingNav a").click(
					function(event) {					
						event.preventDefault();
						var index = $(this).attr("index");
						document.licenseDataForm.nextIndex.value = index;
						document.licenseDataForm.submit();
					}
				);
			}
		);
	}
);


function disableSubmit() {
	$("#licForm input:submit").attr("disabled", true);
	document.licenseDataForm.submit();
}

function validateSearch() {
	try {
		var searchText = document.getElementById("sr").value;
		if(isEmpty(searchText)) {
			alert("Please enter a host name.");
			return false;
		}
	} catch(e) {
		//alert(e.message);
	}
	return true;
}

function validateDeactivationForm() {
	try {
		var checked = $("#licForm :checkbox:checked").size();
	} catch(e) {
		//alert(e.message);
	}
	if(checked > 0) {
		$("#licForm input:submit").attr("disabled", true);
		return true;
	}
	else {
		alert("Please select atleast one host.");
		return false;
	}
}

function isEmpty(string) {
	string = trim(string);
	if(string == null || string.length == 0) {
		return true;
	}
	return false;
}

function trim(string) {
	return string.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}