﻿jQuery.noConflict();

function AjaxRequest(divName, requestType, URL, queryString,successFunction)
{
	jQuery.ajax({
	type:    requestType,	
	url:     URL,
	data:	 queryString, 
	success: function(msg)
	{   
	    if(successFunction)
	    {
	       eval(successFunction);
	    }
	    else
	    {
		if(divName)
	          jQuery(divName).html(msg); 
	    } 
	}
    });
}
function AlwaysSelectedGivenOptions(div,val)
{
	var selector = document.getElementById(div);
	for (var i = 0; i < selector.options.length; i++) {
		if (val == selector.options[i].value) {
			selector.options[i].selected = true;
			break;    
		}
	}

}

function match_file(id)
{
	var regex = /\.csv$/i;
	if(!(jQuery(id).val().match(regex)))
	{
		 alert("Sorry, Only CSV file is allowed to upload.");
		 jQuery(id).val();
		 jQuery(id).focus();
		 return false;
	 }
	 
}

function openPopupWindow(url,width,height,mx,my)
{
	var NEW_WIN = null;
	NEW_WIN = window.open("", "","toolbar=no,width="+width+",height="+height+",directories=no,status=no,scrollbars=yes, resize=no, menubar=no");
	NEW_WIN.location.href=url;
	NEW_WIN.focus();
	NEW_WIN.moveTo(mx, my);
}


function openPopupWindow2(url,width,height,mx,my)
{
    window.name = 'mainWin';
    prevWin = open("about:blank", "prevWin", "toolbar=no,width="+width+",height="+height+",directories=no,status=no,scrollbars=yes, resize=no, menubar=no");
	prevWin.location.href=url;
    prevWin.moveTo(mx, my);
    prevWin.focus();    
}


function locationSearchIconShow(div,imgTag,popupUrl)
{
	var contHtml = "<a href='javascript:void(0);' onclick=\"openPopupWindow('"+popupUrl+"','540','510','100','50');\" title='Location Search'>"+imgTag+"</a>"; 
	jQuery(div).html(contHtml); 
}

function addCustomOptionFields() 
{
	var el = jQuery("<table style='width: 350px;' border=0 cellpadding=4 cellspacing=0><tr><td align='left'>Value </td><td align='left'><input type='text' name='opt_value[]' />&nbsp;&nbsp;<a href='javascript:void(0)' onclick='RemoveCustomOptionFields(this)'>Remove</a></td></tr></table>");
	
	jQuery("#OptionFields").append(el);
}

function RemoveCustomOptionFields(ele)
{
	jQuery(ele).parent().parent().remove();
}
	
function lbIframeClose() 
{
	if(parent.document.getElementById("lbMain"))
	{
		self.parent.myLytebox.end();
	}
}

function refreshDetailsTicketPage()
{
	lbIframeClose();
    parent.document.location.reload();
}

function Set_Cookie( name, value, expires, path, domain, secure ) 
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60;// * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}


function checkdataformat(str,type){
	//Check DATE format
	if (type == 1) {
		var dateformat = /^\d{1,2}(\-|\/)\d{1,2}(\-|\/)\d{4}$/;
		if(dateformat.test(str) == false) {
			return false; 
		}
		else {	
			var pos = str.indexOf("/");
			if (pos == -1)
				pos = str.indexOf("-");
			var part = parseInt(str.substr(0,pos));
	
			if (part < 0 || part > 12 ){
				return false; 
			}
	
			pos++;
			var nextpos = str.indexOf("/",pos);
			if (nextpos == -1)
				nextpos = str.indexOf("-",pos);
			part = parseInt(str.substr(pos,nextpos));
			if (part < 0 || part > 31 ){
				return false; 
			}
	
			nextpos++;
			part = parseInt(str.substr(nextpos,4));
			if (part < 1000 || part > 9999 ){
				return false; 
			}
		}
		return true;
	}
	
	
	//Check TIME format
	if (type == 2) {
		var timeformat = /^\d{1,2}(\-|\:)\d{1,2}(\-|\:)\d{1,2}$/;
		if(timeformat.test(str) == false) {
			return false; 
		}
		else {
			var pos = str.indexOf("/");
			if (pos == -1)
				pos = str.indexOf("-");
			
			var part = parseInt(str.substr(0,pos));
	
			if (part < 0 || part > 12 ){
				return false; 
			}
	
			pos++;
			var nextpos = str.indexOf("/",pos);
			if (nextpos == -1)
				nextpos = str.indexOf("-",pos);
			part = parseInt(str.substr(pos,nextpos));
			if (part < 0 || part > 60 ){
				return false; 
			}
	
			nextpos++;
			part = parseInt(str.substr(nextpos,4));
			if (part < 0 || part > 60 ){
				return false; 
			}
		}
		
		return true;
	}
	
	//Check CONTACT NUMBER format
	if (type == 3) {
		var phonenumberformat = /^\d{3}(\-|\.)\d{3}(\-|\.)\d{4}$/;
		if(phonenumberformat.test(str) == false) {
			var nextphonenumberformat = /^\(\d{3}\)(\ )\d{3}(\.|\-)\d{4}$/;
			if(nextphonenumberformat.test(str) == false) {
				return false; 
			}
		}
		
		return true;
	}
	
	//Check INTEGER NUMBER format
	if (type == 4) {
		var numberintformat = /^\d+$/;
		if(numberintformat.test(str) == false) {
			return false; 
		}
		return true;
	}
	
	//Check DECIMAL NUMBER or DOLLAR format
	if (type == 5) {
		var numberformat = /(^\d+$)|(^\d+(\.)\d{1,})$/;
		if(numberformat.test(str) == false) {
			return false; 
		}
		
		return true;
	}
	
	//Check ZIP CODE format
	if (type == 6) {
		var zipformat = /^\w{5}$/;
		if(zipformat.test(str) == false) {
			return false; 
		}
		
		return true;
	}
	
	//Check EMAIL format
	if (type == 7) {
		var emailformat = /(^\w+(\@)\w+(\.)\w{2,3}$)|(^\w+(\@)\w+(\.)\w+(\.)\w{2,3}$)/;
		if(emailformat.test(str) == false) {
			return false; 
		}
		return true;
	}	
}


function validatePayRate() 
{
	var alertMsg = "";
	
	var rtyp = jQuery('#storefront_ticket_pay_structure_rate_type').val();	
	
	
	if (rtyp == "fixed") 
	{
		if(parseFloat(jQuery('#storefront_ticket_pay_structure_rate_amount').val()) < 20.0) {
			alertMsg = "Rate Amount must be at least 20" + alertMsg + "\n";
		}
	} 
	else
	{
		if(jQuery('#storefront_ticket_pay_structure_max_units').val() == '')
		{
			alertMsg = "You must enter Max Units" + alertMsg + "\n";
		}
		else if ((parseFloat(jQuery('#storefront_ticket_pay_structure_rate_amount').val())*parseFloat(jQuery('#storefront_ticket_pay_structure_max_units').val())) < 20.0){
			alertMsg = "Max Payment possible must exceed $20.00.  Adjust Rate Amount and Max Units so that at least $20.00 can be payed." + alertMsg + "\n";
		}
	} 
	
	
	if(alertMsg) {
		alert(alertMsg);
		return false;
	}
	else
	{
		return true;
	}
}

function divPayChange(val, fm) 
{
	var payRate = val;
	document.getElementById('fixed_pay').style.display = "none";
	document.getElementById('hour_pay').style.display = "none";
	document.getElementById('device_pay').style.display = "none";
	document.getElementById('blended_pay').style.display = "none";
	if(payRate == 1) document.getElementById('hour_pay').style.display = "block";
	else if (payRate == 2) document.getElementById('fixed_pay').style.display = "block";
	else if (payRate == 3) document.getElementById('device_pay').style.display = "block";
	else if (payRate == 4) document.getElementById('blended_pay').style.display = "block";
}
function materialCostModeChange(select)
{
	var material_cost_budget = document.getElementById('material_cost_budget');
	if (select.value == "1")
	{
		material_cost_budget.disabled = false;
	}
	else
	{
		material_cost_budget.disabled = true;
	}
}
function bold_devices() {
	if(document.getElementById('payper').value == "3") {
		document.getElementById('number_devices').style['color'] = "red";
	}
	else {
		document.getElementById('number_devices').style['color'] = "black";
	}
}
function check_device() {

	if(document.getElementById('payper').value == 3) {
		document.getElementById('number_devices_star').style.display = "inline";
	}
	else {
		document.getElementById('number_devices_star').style.display = "none";
	}
}


function TriggerAlertTicketManager(show_client_dom, alert_ticket_manager_dom) {
	show_client_dom = "#" + show_client_dom;
	alert_ticket_manager_dom = "#" + alert_ticket_manager_dom;
	if(jQuery(show_client_dom))
	{
		jQuery(show_client_dom).click(function() {
			if(jQuery(this).is(':checked'))
				jQuery(alert_ticket_manager_dom).removeAttr("disabled").attr("checked","checked");
			else
				jQuery(alert_ticket_manager_dom).attr("disabled","disabled").removeAttr("checked");	
		});
	}
}
