var sRedirectUrl = "";

function windowOpen(href, width, height, scrollbar,resizable)
{
	if(resizable == ''){
		resizable = 'yes';
	}

	if (width == '' && height == '') {
		window.open(href, '_blank', 'toolbar=no,location=no,status=yes,menubar=no,personalbar=no,scrollbars=yes,resizable='+resizable+',screenx=50,left=50,screenY=50,top=50');
	} 
	else if (scrollbar != '') {
		window.open(href, '_blank', 'toolbar=no,location=no,status=no,menubar=no,personalbar=no,scrollbars=' + scrollbar + ',width=' + width + ',height=' + height + ',resizable='+resizable+',screenx=50,left=50,screenY=50,top=50')
	}
	else {
		window.open(href, '_blank', 'toolbar=no,location=no,status=no,menubar=no,personalbar=no,scrollbars=no,width=' + width + ',height=' + height + ',resizable='+resizable+',screenx=50,left=50,screenY=50,top=50')
	}
}

function del_confirm(msg, url) {
  if(confirm(msg)) {
  	location.href = url;
  }
}


function CheckMandatoryFields(oForm,sDiv) {
	var i, j, sElementName, sElementType, bCheck;
	var bError = 0;
	var bgColor = "#996600";
	var sBorderFalse = "1px solid #ff6600";
	
	for (i = 0; i < oForm.elements.length; i++) {
	
		var oElement = oForm.elements[i];
		sElementName = oElement.name;
		sElementType = oElement.type;
		
				
		if (sElementName && sElementName != "") {
			
			if (sElementName.length > 3) {
			
				if (sElementName.substr(sElementName.length - 3, 3) == "_mf") {
					
					
					switch (sElementType) {
						case "text":
							if (oElement.value == "") {
								bError = 1;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;
							
							
						case "password":
							if (oElement.value == "") {
								bError = 1;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;
						
																			
						case "textarea":
						
							if (oElement.value == "") {
								bError = 1;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;

						case "checkbox":
						
							if (oElement.checked == false) {
								bError = 3;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;
							
						
						case "radio":
												
							
				            bCheck = 0;
				             
							for (j = 0; j < oForm[sElementName].length; j++) {  	
								if (oForm[sElementName][j].checked == true) bCheck = 1;
							}
							
							if (bCheck == 0) {
								bError = 1;
								oElement.style.border = "2px solid red";
								//oElement.style.border = sBorderFalse;
							}
							
							else {
								oElement.style.border = "";
							}
							
							break;
							
													
						case "select-one":
						
							if (oElement[oElement.selectedIndex].value == "" || oElement[oElement.selectedIndex].value == "null") {
								bError = 1;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;
							
							
						case "select-multiple":

							bCheck = 0;

							for (j = 0; j < oElement.options.length; j++) {
							
								if (oElement.options[j].selected) {
									bCheck++;
								}
							}

							if (bCheck == 0) {
								bError = 1;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;
						
						case "file":
							if (oElement.value == "") {
								bError = 1;
								oElement.style.border = sBorderFalse;
							}
							else {
								oElement.style.border = "";
							}
							break;
					}
				}
					
				if (sElementName.indexOf('mail_mf') != -1 && oElement.value != "") {
					
					if(checkEmail(oElement.value) == false){
						bError = 2;
						oElement.style.border = sBorderFalse;
					}
					else {
						oElement.style.border = "";
					}
				}
			}
		}
		
		
	}
	
	if (bError == 0) {
		return true;
	}
	if (bError == 1) {
		document.getElementById(sDiv).style.display = "inline";
		document.getElementById(sDiv).innerHTML = "<span style=\"color: red;\">Please fill out mandatory fields</span><br /><br />";
		return false;
	}
	if (bError == 2) {
		document.getElementById(sDiv).style.display = "inline";
		document.getElementById(sDiv).innerHTML = "<span style=\"color: red;\">Please fill in a correct e-mail address</span><br /><br />";
		return false;
	}
	if (bError == 3) {
		document.getElementById(sDiv).style.display = "inline";
		document.getElementById(sDiv).innerHTML = "<span style=\"color: red;\">Please fill out mandatory fields</span><br /><br />";
		return false;
	}
	
	return false;
}


function checkEmail(emailAddress) {
	
	var re = /^(([^<>()[\]\\.,;:@\"]+(\.[^<>()[\]\\.,;:@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
	return re.test(emailAddress);
}


function verifynotify(field1, field2, result_id, match_html, nomatch_html) {
 this.field1 = field1;
 this.field2 = field2;
 this.result_id = result_id;
 this.match_html = match_html;
 this.nomatch_html = nomatch_html;

 this.check = function() {

   // Make sure we don't cause an error
   // for browsers that do not support getElementById
   if (!this.result_id) { return false; }
   if (!document.getElementById){ return false; }
   r = document.getElementById(this.result_id);
   if (!r){ return false; }

   if (this.field1.value != "" && this.field1.value == this.field2.value) {
     r.innerHTML = this.match_html;
   } else {
     r.innerHTML = this.nomatch_html;
   }
 }
}



function getXMLObject() {

	var oXmlHttp = null;
	var e1, e2, e3, e4;
	
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
		try {
			oXmlHttp = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e1) {
			
			try {
				oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e2) {
				oXmlHttp = null;
			}
		}
	@else
		try {
			oXmlHttp = new XMLHttpRequest();
		}
		catch (e3) {
			oXmlHttp = null;
		}
	@end @*/
	
	if (! oXmlHttp) {
		
		try {
			oXmlHttp = new XMLHttpRequest();
		}
		catch (e4) {
			oXmlHttp = null;
		}
	}

	return oXmlHttp;
}

function setDisplay(sId, sValue) {

	var oElement = getElement(sId);
	
	if (oElement) {
		oElement.style.display = sValue;
	}
}

function setContent(sTarget, sContent) {

	var oTarget = document.getElementById(sTarget);

	if (oTarget) {
		oTarget.innerHTML = sContent;
	}
}

function sendRequest(sUrl, sTarget) {

	if (Check.String(sUrl)) {
	
		var oXMLHttp = getXMLObject();
	
		if (oXMLHttp) {
	
			oXMLHttp.open("GET", sUrl, true);
	
			oXMLHttp.onreadystatechange = function() {
	
				if (oXMLHttp.readyState == 4) {
					setContent(sTarget, oXMLHttp.responseText);
				}
			}
	
			oXMLHttp.send(null);
		}
		else {
	
			var oIframe = document.getElementById("requestIframe" + sTarget);
			
			if (oIframe) {
				oIframe.src = sUrl;
			}
			else {
				document.write("<iframe name=\"requestIframe" + sTarget + "\" id=\"requestIframe" + sTarget + "\" src=\"" + sUrl + "\" width=\"0\" height=\"0\" frameborder=\"0\" onload=\"setContent('" + sTarget + "', this.contentWindow.document.body.innerHTML);\"></iframe>");
			}
		}
	}
}


//Check
var Check = new Object();

Check.String = function(sValue) {

	var bReturn = false;

	if ((sValue && sValue != "") || sValue == "0") {
		bReturn = true;
	}

	return bReturn; 
}

Check.Float = function(sValue) {

	var bReturn = false;

	if (sValue || sValue == "0") {

		if (sValue.length != 0 && ! isNaN(sValue)) {
			bReturn = true;
		}
	}

	return bReturn; 
}

Check.Integer = function(sValue) {

	var bReturn = false;

	if (this.Float(sValue)) {

		if (parseInt(sValue) == parseFloat(sValue)) {
			bReturn = true;
		}
	}

	return bReturn; 
}

Check.ValidId = function(sValue) {

	var bReturn = false;

	if (this.Integer(sValue)) {

		if (parseInt(sValue) > 0) {
			bReturn = true;
		}
	}

	return bReturn; 
}

Check.Navigator = function(sNavigator) {

	var bReturn = false;
	var sAgent = navigator.userAgent.toLowerCase();

	switch (sNavigator) {

		case "msie":

			if (sAgent.indexOf("msie") > -1 && ! window.opera) {
				bReturn = true;
			}

			break;

		case "firefox":

			if (sAgent.indexOf("firefox") > -1 && ! window.opera) {
				bReturn = true;
			}

			break;
	}

	return bReturn;
}

Check.NavigatorVersion = function(sVersion) {

	var bReturn = false;
	var sAgent = navigator.userAgent.toLowerCase();
	var sAgentVersion = "";

	if (Check.Navigator("firefox")) {

		sAgentVersion = sAgent.substring(sAgent.lastIndexOf("/") + 1, sAgent.length);

		if (sAgentVersion == sVersion) {
			bReturn = true;
		}
	}
	else if (Check.Navigator("msie")) {

		sAgentVersion = sAgent.substring(sAgent.indexOf("msie ") + 5, sAgent.length);
		sAgentVersion = sAgentVersion.substring(0, sAgentVersion.indexOf(";"));

		if (sAgentVersion == sVersion) {
			bReturn = true;
		}
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';
  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, "", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function checkDownloads(ocheckbox, surl, sTitle){
	if(ocheckbox.checked){
		dcsMultiTrack('DCS.dcsuri', surl, 'WT.ti', sTitle, 'DCSext.useraction', 'download');
		sRedirectUrl = surl;
		window.setTimeout("doRedirect()", 1000);
	}
	else{
		alert("You must agree to the terms stated below before downloading resources.");
	}
}

function doRedirect(){
	this.document.location.href = sRedirectUrl;
}

function checkDisabled(ocheckbox){
	if(ocheckbox.checked){
		document.getElementById('order_save').disabled = false;
	}
	else{
		document.getElementById('order_save').disabled = true;
	}
}

function delConfirmAlternative(deleteUrl, nothingUrl)
{
	if(confirm('Sure to delete object?'))
	{
		document.location=deleteUrl;
	}
	else
	{
		document.location=nothingUrl;
	}
}

function swapStateConfirmAlternative(swapUrl, nothingUrl)
{
	if(confirm('Confirm change of state for object?'))
	{
		document.location=swapUrl;
	}
	else
	{
		document.location=nothingUrl;
	}
}

function rowOver(oTr, sStyle){
	oTr.className = sStyle;
	return true;
}

function resetNumberField(oElement){
	if (oElement && oElement.value && oElement.value == '0')
		oElement.value = '';
}

